第08章 线性时间排序 — 章节汇总

章节概览

本章完成了排序算法的理论闭环:首先通过决策树模型证明了比较排序 下界(8.1 排序的下界),说明归并排序和堆排序是渐近最优的比较排序;然后介绍了三种非比较排序算法——8.2 计数排序8.3 基数排序8.4 桶排序,它们利用输入的额外信息(值域范围、位数限制、均匀分布等)突破 下界,在特定条件下实现线性时间排序。


8.1 排序的下界

小节核心主题关键结论
8.1 排序的下界比较排序与决策树模型任何比较排序最坏情况

核心思路:比较排序仅通过元素间的比较操作获取顺序信息,其行为可以用一棵决策树表示。排序 个不同元素需要区分 种排列,因此决策树至少有 个叶子节点。一棵高度为 的二叉树最多有 个叶子,故 ,即 。这意味着归并排序和堆排序是渐近最优的比较排序。


8.2~8.4 三种非比较排序

小节核心主题关键结论适用条件
8.2 计数排序COUNTING-SORT,稳定排序键值为 的整数
8.3 基数排序RADIX-SORT,使用稳定排序作为子程序键值位数 有限
8.4 桶排序BUCKET-SORT期望 ,最坏 输入均匀分布在

核心思路:三种非比较排序分别利用不同的输入特性:

  • 计数排序利用键值范围 的假设,通过计数直接确定每个元素的位置
  • 基数排序利用键值位数 有限的假设,逐位使用稳定排序(通常是计数排序), 时间内完成
  • 桶排序利用输入均匀分布的假设,将元素分入 个桶,每个桶期望仅含常数个元素,桶内排序后拼接即可

本章核心知识点

关键定义

概念定义出处
比较排序仅通过元素间比较获取顺序信息的排序算法8.1 排序的下界
决策树表示比较排序在所有可能输入上行为的二叉树8.1 排序的下界
稳定排序保持相等元素的相对顺序的排序算法8.2 计数排序

关键定理

编号内容出处
定理 8.1任何比较排序最坏情况需要 次比较8.1 排序的下界
引理 8.3给定 位数,LSD 基数排序能正确排序8.3 基数排序
引理 8.4给定 位数和任意 ,LSD 基数排序耗时 8.3 基数排序
引理 8.1桶排序中桶 的期望元素数 8.4 桶排序
推论 8.2桶排序的期望运行时间为 8.4 桶排序

三种非比较排序对比

比较维度计数排序基数排序桶排序
时间期望
空间
稳定性稳定 ✅取决于子程序取决于桶内排序
适用条件整数,位数 有限均匀分布
原地

与前序章节的知识关联

前序章节关联方式
第6章 堆排序堆排序是渐近最优的比较排序(
第7章 快速排序快速排序期望 ,达到比较排序下界
第5章 概率分析桶排序的期望分析使用指示器随机变量和期望线性性

学习路线

第8章学习路径:
  8.1 排序的下界(理论极限,建立下界意识)
    → 8.2 计数排序(最简单的线性时间排序)
      → 8.3 基数排序(利用计数排序处理多位数)
        → 8.4 桶排序(利用概率假设实现期望线性时间)

学习建议

本章是从”上界”到”下界”的完整闭环。8.1 的决策树证明是理论计算机科学中”下界证明”的经典范例,建议掌握其证明思路。8.2 的计数排序是后续章节的基础——8.3 的基数排序直接使用计数排序作为稳定子程序。8.4 的桶排序分析是第5章概率分析技术的直接应用,建议复习指示器随机变量。

线性时间排序