“外存中的瓶颈是块传输,排序 I/O 下界需要同时计 $N,B,M$,不能从 $\Omega(n\log n)$ 次比较除以块大小得到。”
形式陈述
定理
对外存中的比较排序,在两层外存模型中假设
其中下界使用比较模型的信息计数,上界由多路外归并排序达到。在本页
直觉
信息计数图像
排序必须区分
为什么底数是 M/B
多路归并在内存中为约
例子与边界
边界
本页定理固定
已知目的地址的置换与未知键序的排序
Permuting 给每个原子记录一个目的位置,只需按这些位置重排。单磁盘下它的最坏最优 I/O 量级为
一条路线按目的位置外排;另一条路线逐项读取并写到指定位置,用
比较模型中的完整计数
先假设
种块间排列需要区分。
把一次读块及其后所有免费的内存比较看成一个多分支查询节点。内存中已有记录的相对次序可视为已知;读入块的内部次序也已知,因为它是原始已排序块,或此前曾同处内存、其内部次序已经确定的写出块。最多
读哪个地址以及写哪些记录,由此前比较结果决定,在比较模型中不会额外揭示键序。写块本身也不增加新比较信息。于是若最坏用了
对数、Stirling 估计和
再结合读写全部记录的扫描下界,即得到定理。对均匀分布的这些块间次序,同样得到平均成本下界:若叶深度为
当
推论与应用
该下界解释了多路外归并的排序量级为何在原子比较模型中不可改进,并成为外存优先队列、缓存无关排序和批处理结构的基准成本。任何声称突破它的算法都必须指出改变的是整数键操作、记录可压缩性、磁盘并行度还是内存模型,而不能只比较公式表面。
参考资料
- Alok Aggarwal and Jeffrey S. Vitter, “The Input/Output Complexity of Sorting and Related Problems,” Communications of the ACM 31(9), 1988, pp. 1116–1127;§2 给出含
的 I/O 模型,Theorem 3.1 给出 sorting/FFT 界,本页取单磁盘特例 。 - Jeffrey S. Vitter, Algorithms and Data Structures for External Memory, 2008,Theorems 5.1、5.3 及 §§6.1–6.2:排序、带 min 项的置换,以及小块区间中比较模型的额外作用。