排序算法, Sorting Algorithm

常见排序算法: 冒泡排序 选择排序 插入排序 希尔排序 快速排序 归并排序 堆排序 计数排序 桶排序 基数排序 推荐学习顺序: 冒泡 → 选择 → 插入 → 快速 → 归并 → 堆 冒泡排序 Bubble Sort 相邻元素两两比较,大的往后"冒泡",每轮将最大值沉到末尾。 时间复杂度:O(n²) 空间复杂度:O(1) 稳定排序 def bubble_sort(arr): n = len(arr) for i in range(n): 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 # 测试 arr = [64, 34, 25, 12, 22, 11, 90] print("排序前:", arr) bubble_sort(arr) print("排序后:", arr) 执行过程(以 [5, 3, 1] 为例): 第1轮: j=0: 5 > 3,交换 → [3, 5, 1] j=1: 5 > 1,交换 → [3, 1, 5] ← 最大值 5 沉底 第2轮: j=0: 3 > 1,交换 → [1, 3, 5] ← 次大值 3 到位 第3轮:只剩1个,已有序 外层 i 控制轮数,每轮确定一个最大值的位置 内层 n - i - 1 让已排好的尾部不再参与比较 a, b = b, a 是 Python 交换变量的惯用写法 选择排序 Selection Sort 每轮从未排序部分找最小值,放到已排序部分的末尾。 ...

2026-04-18 · 2 min · 237 words · -