第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章概率分析技术的直接应用,建议复习指示器随机变量。

线性时间排序