文件的外排序,考虑到CPU,内存,硬盘空间等。

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:24:31
什么是文件的外排序,
主要CPU,内存,硬盘空间方面,如果其他也有的话,都说上吧。这方面我不是很了解!

若排序的文件存入外存储器排序过程借助内外存数据交换(或归并)来完成,则称这种排序为外排序。
一般地,外排序的时间由三部分组成:
(1) 预处理时间;
(2) 内部合并的时间;
(3) 外存读/写记录的时间。
外排序的时间消耗又由最初归并段的内排序时间,文件I/O时间和归并排序时间几部分组成,但影响排序时间的主要是文件I/O时间,因此应尽量采取一些手段,如减少文件扫描次数,有效利用缓冲区,使I/O和CPU处理尽可能重叠来提高外排序速度——(源于数据结构 国防工业出版社 夏克俭编著)
在外存上进行排序的最通常的方法是合并排序。这种方法由两个相对独立的阶段组成:预处理和合并排序,即首先根据内存的大小,将有n个记录的磁盘文件分批读入内存,采用有效的排序方法进行排序,将其预处理为若干个有序的子文件,这些有序子文件被称为初始游程或顺串(run),然后采用合并的方法将这些初始游程逐趟合并成一个有序文件。——(源于课件)
对文件扫描一遍,意味着文件中的每个记录被读/写一次,即从磁盘上读入内存一次,在内存中完成合并后,再写到磁盘一次。由此看来,扫描的遍数对于合并排序的时间起着决定性作用。预处理时先产生初始游程能提高外排序的效率,很重要的原因是减少了对磁盘数据的扫描遍数。——(源于课件)