写个冒泡排序
冒泡排序是一种简单的排序算法,它通过多次遍历数组,每次比较相邻的两个元素,如果它们的顺序不正确就交换它们的位置,直到没有任何元素需要交换为止。以下是一个简单的冒泡排序实现:
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 著作权归作者所有。请勿转载和采集!