简单
技术面试0 次浏览

请简述冒泡排序的基本思想,并给出其Python代码实现。

算法工程师
排序算法冒泡排序Python

答题要点

冒泡排序是一种简单的排序算法,其基本思想是通过多次遍历待排序序列,比较相邻元素的大小,如果顺序错误就把它们交换过来,每一轮遍历都会将最大(或最小)的元素‘浮’到序列的末尾。以下是Python代码实现: 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)$,空间复杂度为$O(1)$,是一种稳定的排序算法。