📜  气泡排序算法(1)

📅  最后修改于: 2023-12-03 15:40:40.891000             🧑  作者: Mango

气泡排序算法

气泡排序算法(Bubble Sort Algorithm)是一种简单的排序算法,它重复地遍历排序序列,比较相邻的元素并交换位置,直到整个序列有序为止。

原理

气泡排序算法的原理是,每次将相邻的两个元素进行比较,如果第一个元素大于第二个元素,则将它们交换位置。经过多次比较和交换,最终可以将序列排序。在每一轮比较中,将最大的元素像气泡一样从底部移到了顶部,因此该算法得名为“气泡排序”。

算法步骤

气泡排序算法的具体步骤如下:

  1. 从序列的第一个元素开始,依次到该序列的最后一个元素;
  2. 对于每个元素,与其后面的元素进行比较,如果前面的元素大于后面的元素,则将它们交换位置;
  3. 对于整个序列,重复1、2步骤,直到整个序列有序为止。
代码实现

使用 Python 语言来实现气泡排序算法的代码如下:

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1] :
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr
时间复杂度

由于气泡排序算法的实现利用了两个嵌套的循环,因此其时间复杂度为 $O(n^2)$。在数据规模比较小的时候,气泡排序算法也是相当有效的。然而,对于大规模的数据序列,该算法的效率将会受到很大的影响。因此,在实际应用中,往往不会使用该算法。