一、排序基础概念
- 排序定义:将 n 个数据按指定顺序(升序 / 降序)排列,如按学号对学生排序。
- 排序分类(按存储场景):
- 内部排序:无需访问外存,仅在内存中完成排序(本次学习的所有算法均属此类)。
- 外部排序:数据量过大,需借助外存(如硬盘)辅助排序,适用于大规模数据。
- 常用排序算法:冒泡排序、选择排序、插入排序、快速排序、希尔排序、归并排序(本次重点覆盖前 4 种)。
二、四大核心排序算法
1. 冒泡排序
核心思想
通过相邻元素两两比较,若为逆序(前元素 > 后元素)则交换,每趟将当前最大元素 “冒泡” 到数组末尾,逐步缩小未排序区间。
关键步骤
- 外层循环控制排序趟数(最多
n-1趟,n为数组长度)。 - 内层循环遍历未排序区间,比较相邻元素并交换逆序对,每趟后未排序区间长度减 1(末尾已排好序)。
2. 选择排序
核心思想
优化冒泡排序的交换次数:每趟从未排序区间找到最小元素,与未排序区间的第一个元素交换,将最小元素 “选” 到已排序区间末尾,每趟仅需 1 次交换。
关键步骤
- 外层循环控制未排序区间起始位置(从 0 到
n-2)。 - 内层循环遍历未排序区间,记录最小元素索引,遍历结束后交换 “最小元素” 与 “未排序区间第一个元素”。

1042

被折叠的 条评论
为什么被折叠?



