我没有追求目前两通道多路合并排序的定义,但是"外部排序"理论(数据太大而无法适应内存)几乎是标准的.任何体面的算法书都会涵盖它; 在许多其他人中,你可以看看Knuth,Sedgewick或(对于软件考古学家)Kernighan&Plauger 软件工具.
基本技术很简单:
一切都非常标准 - 但是有一些挑剔的细节可以做对.
在AT&T的Unix系统读物第二卷中有一篇很好的文章称为"构建工作排序程序中的理论与实践",如果你认真学习如何处理外部排序,你应该找到并阅读.但是,当您阅读它时,请记住机器自写入以来发生了巨大变化,主内存(而不是兆字节)和太字节磁盘空间(或SSD - 也代替兆字节).