Skip to content

比较排序下界

Comparison sorting lower bound

任何最坏情形比较排序都需 Ω(n log n) 次比较。

条目类型
定理

形式陈述

决策树模型中考察确定性比较排序,输入为 n 个互异键。每个内部结点询问“ai<aj?”,叶结点给出算法断言的相对次序;正确算法必须让 n!排列到达不同答案的叶。高度 h 的二叉树至多有 2h 片叶,于是最坏比较次数满足

2hn!,hlog2(n!)=Ω(nlogn),

这里的 Ω(nlogn)渐近记号概括输入规模增长时的下界;末一步由 Stirling 公式 log2(n!)=nlog2nnlog2e+O(logn) 给出。平均情形同阶:叶数为 n! 的二叉树的平均叶深至少 log2(n!),故对均匀随机排列,期望比较次数同样是 Ω(nlogn)。这一结论也覆盖始终输出正确结果的 Las Vegas 随机化比较排序:固定随机比特后得到一棵确定性且仍然正确的决策树,对均匀输入取平均后再对随机比特取平均,仍有 Ω(nlogn) 的期望成本,因此至少存在一个输入使算法的期望比较次数达到该量级。若允许算法以正概率输出错误答案,则必须另外固定错误概率与成功标准,并使用 Yao 极小极大原理等分布式下界工具,不能直接沿用上述零错误论证。

直觉

这是一条排序专用的信息论下界:算法必须区分 n! 种相对次序,而一次二元比较只产生一个 bit 的分支。逐次维持合法回答、延迟承诺具体输入的通用证明方式见对手下界方法;本页只使用叶数计数。把比较看成返回一位答案的 oracle query 时,这也是查询下界的一个特例,但结论只约束这种访问接口。Word-RAM 可以读整数位并把键值用于寻址;通信模型计算双方交换的 bit;外存模型计算块传输。三者的单步信息与资源单位都不同,不能直接继承这棵比较树的高度下界。

比较排序的叶数计数下界
例子与边界

小规模可以完全算清:n=3log26=3,故任何比较排序最坏至少 3 次比较;插入排序恰以最坏 3 次完成三元素排序,说明该下界在小规模处可以取到。渐近方向,归并排序与基于二叉堆的堆排序都只用 O(nlogn) 次比较,与下界匹配,因而在比较模型中渐近最优。

边界之一:绕过模型不算违反下界。计数排序直接把键值当下标使用,时间 O(n+k)基数排序按数位分配,时间 O(d(n+k))——对范围在 [0,n2) 内的整数取基数 n 只需两趟,总计 O(n),胜过 nlogn 而与定理无矛盾,因为它们不做两两比较。之二:下界针对互异键的最坏(或均匀平均)情形;若键只有 k 种取值或输入接近有序,可区分的输出减少,自适应算法确实能少比较,但对一般互异输入,任何比较排序都无法整体逃出该界。之三:计量对象是比较次数,搬移、缓存等开销另算——不过在比较模型中总运行时间不低于比较数,故时间下界随之成立。

推论与应用

决策树模型固定了本页每步能问什么,对手下界方法则把“延迟承诺输入、始终返回合法回答”推广到不能只数叶子的场景。在 n 元有序表中定位元素需要 log2(n+1) 次比较,说明二分查找在比较模型中最优;前驱问题若仍只允许比较也受相似障碍,但 Word-RAM 可读取整数位,因此必须另看对应模型的上、下界。

把其他问题归约到排序可以传递比较下界:把数 xi 提升为抛物线上的点 (xi,xi2) 后,平面凸包的顶点序能读出排序。外存中的瓶颈却是块传输,排序 I/O 下界需要同时计 N,B,M,不能从 Ω(nlogn) 次比较除以块大小得到。类似地,比较型优先队列的插入与取最小不能都摊还 o(logn),但这项组合推论并不排除整数键、随机化或其他更强原语。

参考资料
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 4th ed., MIT Press, 2022,Part I, comparison sorting and decision-tree lower bound。
  • Donald E. Knuth, The Art of Computer Programming, Vol. 3: Sorting and Searching, 2nd ed., Addison-Wesley, 1998,Vol. 3, §5.3.1, minimum comparison counts for sorting。
关系图谱11 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系