摘要:
个人认为,外部排序是我们在学习过程中接触到的一个比较重要的算法,它既包含了基本的排序算法,又考察了对文件IO以及内存的理解,还展示了最基本的程序优化思想,可以说能够写好一个外部排序,就说明基本的编程能力已经过关了。本文将对整个外部排序的过程进行详细的分析,并介绍两个经典算法,最后附上完整的程序代码。1. 问题描述 由于在现实环境中,有时候需要对一个非常大的文件进行排序,而计算机内存是有限的,当数据无法完全存入内存时,则无法使用正常的排序算法一次完成排序,而必须利用磁盘空间的辅助进行外部排序,即利用有限的内存每次读入部分数据排序后得到一个顺串后暂时放到磁盘,最后将多个顺串进行归并直到最终完成排. 阅读全文