1382 字
4 分钟
考研专业课学习记录2026-07-19
2026-07-19

考研专业课学习记录 | 2026-07-19#

今日学习内容#

两个半小时 外部排序和内部排序的总结

AI知识点带复盘#

一、内部排序核心考点复盘#

内部排序指全部数据可载入内存完成的排序操作,根据实现逻辑可分为5大类,是408选择题、大题高频考察模块:

  1. 插入排序类
    • 直接插入排序:稳定排序,时间复杂度O(n2)O(n^2),空间复杂度O(1)O(1),适用于基本有序的小规模数据场景,考研常考察哨兵优化、折半插入的改进逻辑。
    • 希尔排序:不稳定排序,通过分组插入降低逆序对数量,平均时间复杂度O(n1.3n2)O(n^{1.3}\sim n^2),空间复杂度O(1)O(1),是直接插入排序的优化版本,考研常考察增量序列设计与稳定性问题。
  2. 交换排序类
    • 冒泡排序:稳定排序,O(n2)O(n^2)时间复杂度,适合小规模数据,考研常考察Early Exit优化逻辑。
    • 快速排序:不稳定排序,平均时间复杂度O(nlog2n)O(n\log_2n),最坏O(n2)O(n^2)(数据已有序、枢轴选择不合理时触发),空间复杂度O(log2nn)O(\log_2n\sim n),是考研大题核心考点,需掌握Partition划分过程、递归/非递归实现、最优枢轴选择方法(三数取中法)。
  3. 选择排序类
    • 简单选择排序:不稳定排序,O(n2)O(n^2)时间复杂度,空间复杂度O(1)O(1),每次选择最值元素交换,考研常考察其与堆排序的区别。
    • 堆排序:不稳定排序,时间复杂度O(nlog2n)O(n\log_2n),空间复杂度O(1)O(1),需掌握大顶堆/小顶堆建堆、堆调整、完整执行流程,是选择类排序的核心考察点。
  4. 归并排序:稳定排序,时间复杂度O(nlog2n)O(n\log_2n),空间复杂度O(n)O(n)(依赖辅助数组),基于分治思想,考研常考察二路归并的递归/非递归实现、与其他排序的复杂度对比。
  5. 基数排序:稳定排序,基于关键字分配+收集实现,时间复杂度O(d(n+r))O(d(n+r))dd为关键字位数,rr为基数),空间复杂度O(n+r)O(n+r),适用于多关键字排序场景,考研常考察执行流程与复杂度分析。

二、外部排序核心考点复盘#

外部排序指数据量过大无法全部载入内存,需结合磁盘等外部存储完成的排序,核心流程为「生成初始归并段→多路归并」,考研考察重点如下:

  1. 外部排序时间构成:总耗时 = 读写磁盘时间 + 内部排序时间 + 归并段归并时间,其中磁盘读写耗时占比最高,是优化核心。
  2. 初始归并段生成:常规方法是将文件分块读入内存完成内部排序后写回磁盘,得到等长初始归并段;通过置换-选择排序算法可以生成长度更长的初始归并段,减少后续归并趟数。
  3. 多路归并与败者树
    • kk路归并的归并趟数s=logkms=\lceil\log_k m\rceilmm为初始归并段总数),kk越大归并趟数越少,但单次归并的内部处理耗时增加,考研常考察kk值对总IO次数的影响。
    • 败者树可以优化kk路归并的比较次数,将单次归并的比较次数从O(k)O(k)降低到O(log2k)O(\log_2k),是考研考察的核心优化考点。
  4. 最佳归并树:通过构造哈夫曼树,将归并段长度作为权值,最小化总归并IO次数;考研常考察当初始归并段数量无法构成满kk叉树时,需要补充长度为0的虚段调整结点数。

问题与反思#

  1. 前期容易混淆各类内部排序算法的稳定性与适用场景,曾将希尔排序、快速排序误记为稳定排序,后续需要通过对比表格强化记忆。
  2. 外部排序最佳归并树的虚段补充规则容易出错,尤其是当k2k\neq2时,对(k1)(n1)(k-1)|(n-1)的验证逻辑掌握不熟练。
  3. 多路归并的总IO次数推导逻辑不够熟练,需要结合经典例题重新梳理读写次数的计算方法。

收获与总结#

  1. 完整梳理了内部排序5大类算法的核心特性、复杂度、稳定性与考察方向,形成了清晰的对比框架,可以快速区分不同算法的适用场景。
  2. 掌握了外部排序的完整流程与优化手段,明确磁盘IO耗时是外部排序优化的核心目标,理解了置换-选择、败者树、最佳归并树的设计逻辑与作用。
  3. 明确了408排序模块的出题规律:选择题多考察稳定性、复杂度对比、外部排序IO计算;大题多考察快速排序、堆排序的实现与外部排序综合计算。

💡 碎碎念:踏实吃透每一个知识点!

文档内容由 AI 辅助生成

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

考研专业课学习记录2026-07-19
https://elysiaweb.vercel.app/posts/408/7-19/
作者
程翊雪
发布于
2026-07-19
许可协议
Unlicensed

部分信息可能已经过时

目录