一、简单选择排序
1.1 原理
- 选择排序:每一趟在待排序元素中选取关键字最小(或最大)的元素加入有序子序列
1.2 排序过程
- 第一趟:选择最小的数13,从右往左依次对比



- 第二趟:选择最小的数27,从右往左依次对比


...
...
... - 第七趟:排序结束,最后剩一个不用再处理


1.2 算法实现

1.3 算法性能分析


1.4 总结

二、堆排序
2.1 大根堆介绍
大根堆是一种完全二叉树,满足:
- 每个父节点的值 ≥ 它的左右子节点的值
- 根节点是整个堆里的最大值
用图里的这组数字 [87, 45, 78, 32, 17, 65, 53, 09] 来直观理解大根堆
- 根节点 87(i=0):左孩子 45,右孩子 78 → 87 ≥ 45 且 87 ≥ 78 ✅
- 节点 45(i=1):左孩子 32,右孩子 17 → 45 ≥ 32 且 45 ≥ 17 ✅
- 节点 78(i=2):左孩子 65,右孩子 53 → 78 ≥ 65 且 78 ≥ 53 ✅
- 节点 32(i=3):左孩子 09 → 32 ≥ 09 ✅
- 其他节点(17、65、53、09)是叶子,没有子节点,自动满足条件 ✅

2.2 建立大根堆
- 流程:检查当前结点是否满足根≥左、右若不满足,将当前结点与更大的一个孩子互换




...
...
...

2.2 基于大根堆进行排序
- 原始序列

第一趟
- 互换87与09,并将87从大根堆剔除

- 重新建立大根堆


第二趟


第三趟


第n-1趟

2.3 代码实现

2.4 算法效率分析


