1052 字
3 分钟
考研专业课学习记录2026-07-18
考研专业课学习记录 | 2026-07-18
今日学习内容
今日累计学习1小时,聚焦408数据结构模块的归并排序与基数排序核心知识点,梳理两种排序算法的原理、实现细节、复杂度分析与考研高频考点。
AI知识点带复盘
归并排序考点复盘
归并排序是基于分治策略的稳定比较类排序算法,核心流程分为「分解」与「合并」两个阶段:
- 分解:将待排序数组从中间划分为两个子数组,递归对每个子数组进行归并排序,直到子数组长度为1(单个元素天然有序)。
- 合并:将两个有序子数组合并为一个有序数组,需要借助额外的辅助数组存储合并结果。
核心考点:
- 时间复杂度:无论数组初始状态如何,均为 ,递归树深度为,每层合并总操作次数为。
- 空间复杂度:,辅助数组的空间开销为核心,递归栈空间仅为。
- 稳定性:稳定排序,合并过程中相同元素的相对位置不会发生改变。
- 考研常考题型:递归实现代码编写、非递归实现思路、每一趟归并的结果推演、与快速排序/堆排序的复杂度&稳定性对比。
基数排序考点复盘
基数排序是非比较类排序算法,不通过元素间的直接比较确定顺序,而是通过「分配」与「收集」按关键字的每一位进行排序,分为两种主流实现方式:
- 最低位优先(LSD):从最低位开始依次按位排序,适合短关键字(如学号、电话号码)场景。
- 最高位优先(MSD):从最高位开始依次按位排序,适合长关键字场景。
核心考点:
- 时间复杂度:,其中为关键字的位数,为基数(如十进制排序),为元素个数。
- 空间复杂度:,需要个辅助队列存储分配的元素,以及存储结果的辅助数组。
- 稳定性:稳定排序,分配和收集过程中保留相同位元素的原有顺序。
- 适用场景:数据范围已知且关键字位数固定的整数/字符串排序,不适用于需要比较整体大小的通用排序场景。
易混淆点:
与归并排序的核心区别:基数排序不依赖元素间的比较,而是按位拆分处理,适合大批量低位数的整数排序。
问题与反思
- 对归并排序的非递归实现细节不够熟练,容易混淆合并区间的起始与结束下标,需要额外结合代码示例巩固。
- 基数排序的基数与位数的概念容易搞混,在多进制场景下的复杂度计算容易出错。
- 初期混淆了归并排序与快速排序的分治逻辑,归并是先完全分解再合并,快排是先分区再递归处理子区间。
收获与总结
- 系统掌握了归并排序的核心原理与实现逻辑,能够独立写出递归版本代码,明确了其稳定、的核心特性。
- 理解了基数排序的非比较排序本质,区分了LSD与MSD两种实现方式的适用场景,理清了其复杂度与稳定性的推导过程。
- 辨析了归并排序与基数排序在适用场景、复杂度、实现逻辑上的核心差异,能够快速对应408真题中的考点方向。
💡 碎碎念:踏实吃透每一个知识点!
文档内容由 AI 辅助生成
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
考研专业课学习记录2026-07-18
https://elysiaweb.vercel.app/posts/408/7-18/ 部分信息可能已经过时
相关文章 智能推荐