1382 字
4 分钟
考研专业课学习记录2026-07-19
考研专业课学习记录 | 2026-07-19
今日学习内容
两个半小时 外部排序和内部排序的总结
AI知识点带复盘
一、内部排序核心考点复盘
内部排序指全部数据可载入内存完成的排序操作,根据实现逻辑可分为5大类,是408选择题、大题高频考察模块:
- 插入排序类
- 直接插入排序:稳定排序,时间复杂度,空间复杂度,适用于基本有序的小规模数据场景,考研常考察哨兵优化、折半插入的改进逻辑。
- 希尔排序:不稳定排序,通过分组插入降低逆序对数量,平均时间复杂度,空间复杂度,是直接插入排序的优化版本,考研常考察增量序列设计与稳定性问题。
- 交换排序类
- 冒泡排序:稳定排序,时间复杂度,适合小规模数据,考研常考察Early Exit优化逻辑。
- 快速排序:不稳定排序,平均时间复杂度,最坏(数据已有序、枢轴选择不合理时触发),空间复杂度,是考研大题核心考点,需掌握Partition划分过程、递归/非递归实现、最优枢轴选择方法(三数取中法)。
- 选择排序类
- 简单选择排序:不稳定排序,时间复杂度,空间复杂度,每次选择最值元素交换,考研常考察其与堆排序的区别。
- 堆排序:不稳定排序,时间复杂度,空间复杂度,需掌握大顶堆/小顶堆建堆、堆调整、完整执行流程,是选择类排序的核心考察点。
- 归并排序:稳定排序,时间复杂度,空间复杂度(依赖辅助数组),基于分治思想,考研常考察二路归并的递归/非递归实现、与其他排序的复杂度对比。
- 基数排序:稳定排序,基于关键字分配+收集实现,时间复杂度(为关键字位数,为基数),空间复杂度,适用于多关键字排序场景,考研常考察执行流程与复杂度分析。
二、外部排序核心考点复盘
外部排序指数据量过大无法全部载入内存,需结合磁盘等外部存储完成的排序,核心流程为「生成初始归并段→多路归并」,考研考察重点如下:
- 外部排序时间构成:总耗时 = 读写磁盘时间 + 内部排序时间 + 归并段归并时间,其中磁盘读写耗时占比最高,是优化核心。
- 初始归并段生成:常规方法是将文件分块读入内存完成内部排序后写回磁盘,得到等长初始归并段;通过置换-选择排序算法可以生成长度更长的初始归并段,减少后续归并趟数。
- 多路归并与败者树
- 路归并的归并趟数(为初始归并段总数),越大归并趟数越少,但单次归并的内部处理耗时增加,考研常考察值对总IO次数的影响。
- 败者树可以优化路归并的比较次数,将单次归并的比较次数从降低到,是考研考察的核心优化考点。
- 最佳归并树:通过构造哈夫曼树,将归并段长度作为权值,最小化总归并IO次数;考研常考察当初始归并段数量无法构成满叉树时,需要补充长度为0的虚段调整结点数。
问题与反思
- 前期容易混淆各类内部排序算法的稳定性与适用场景,曾将希尔排序、快速排序误记为稳定排序,后续需要通过对比表格强化记忆。
- 外部排序最佳归并树的虚段补充规则容易出错,尤其是当时,对的验证逻辑掌握不熟练。
- 多路归并的总IO次数推导逻辑不够熟练,需要结合经典例题重新梳理读写次数的计算方法。
收获与总结
- 完整梳理了内部排序5大类算法的核心特性、复杂度、稳定性与考察方向,形成了清晰的对比框架,可以快速区分不同算法的适用场景。
- 掌握了外部排序的完整流程与优化手段,明确磁盘IO耗时是外部排序优化的核心目标,理解了置换-选择、败者树、最佳归并树的设计逻辑与作用。
- 明确了408排序模块的出题规律:选择题多考察稳定性、复杂度对比、外部排序IO计算;大题多考察快速排序、堆排序的实现与外部排序综合计算。
💡 碎碎念:踏实吃透每一个知识点!
文档内容由 AI 辅助生成
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
考研专业课学习记录2026-07-19
https://elysiaweb.vercel.app/posts/408/7-19/ 部分信息可能已经过时
相关文章 智能推荐