冒泡排序是一种简单的排序算法,它通过多次遍历数组,每次比较相邻的两个元素,如果它们的顺序不正确就交换它们的位置,直到没有任何元素需要交换为止。以下是一个简单的冒泡排序实现:

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

在这个实现中,我们使用了两个嵌套的 for 循环。外层的循环控制遍历的次数,内层的循环负责比较相邻的元素并交换它们的位置。

时间复杂度:O(n^2)

空间复杂度:O(1)

如果数组已经有序,冒泡排序的时间复杂度将优化到 O(n)。

写个冒泡排序

原文地址: https://www.cveoy.top/t/topic/8eD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录