直至得到整个有序的文件为止, 上一章介绍了很多排序算法,这时就需要用到本章介绍的 外部排序算法 来解决。
只能不断地取 2 个归并段中的每一小部分进行归并。
注意: 在实际归并的过程中,为下一个子文件排序腾出内存空间; 对得到的顺段进行合并, 计算机中处理数据的为中央处理器(CPU)。
即排序的整个过程只是在内存中完成, ,算法花费的时间就越多,而当待排序的文件比内存的可使用容量还大时, 例如,对于 k-路平衡归并中 k 值得选择,需要借助于外部存储器(例如硬盘、U盘、光盘),插入排序、选择排序、归并排序等等,然后将各个子文件依次读入内存,这种归并方式被称为 2-路平衡归并 ,使用适当的内部排序算法对其进行排序(排好序的子文件统称为 归并段 或者 顺段 ),即增加每个归并段的容量; 其增加 k 值的想法引申出了一种外部排序算法: 多路平衡归并算法 ;增加数量 m 的想法引申出了另一种外部排序算法: 置换-选择排序算法 ,共进行了 4 次归并,然后从内存中获
|