首页 > 范文常识 > 快速了解冒泡排序

快速了解冒泡排序

来源:义凡常识网

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。

冒泡排序算法的运作如下:

比较相邻的元素。如果第一个比第二个大,就交换它们两个;

对于所有的元素重复以上的步骤,直到没有任何一对数字需要比较。

在此过程中,每个数会与其他所有数一一比较,一共会进行n(n-1)/2次比较,其中n为要排序的元素个数。最坏情况下是完全逆序,排序过程需要进行n(n-1)/2次交换,时间复杂度为O(n²)。

以下是冒泡排序的Python代码示例:

def bubble_sort(arr):      n = len(arr)      # 遍历所有数组元素      for i in range(n):          # range(n)也可以改为range(len(arr)-i-1),元素已经归位就不用再比较          for j in range(n-i-1):              # 如果元素的大小比下一个元素大,则交换位置              if arr[j] > arr[j 1] :                  arr[j], arr[j 1] = arr[j 1], arr[j]      return arr

相关信息