1单选(2分)外排序和内排序的主要区别是( )。
A.内排序所需内存小,而外排序所需内存大
B.内排序不涉及内、外存数据交换,而外排序涉及内、外存数据交换
C.内排序的数据量小,而外排序的数据量大
D.内排序速度快,而外排序速度慢
正确答案:B
课本考据:
1、在排序过程中,若整个表都放在内存中处理,排序时不涉及数据的内、外存交换,则称为内排序;
2、在排序过程中,若要进行数据的内、外存交换,则称为外排序。
2单选(2分)以下关于外排序的叙述中正确的是( )。
A.外排序把外存文件调入内存,再利用内排序方法进行排序,所以外排序所花时间完全由采用的内排序确定
B.外排序所花时间=内排序时间+外存数据读写时间+内部归并所花时间
C.外排序完全可以由内排序来替代
D.外排序并不涉及文件的读写操作
正确答案:B
解析: B、外排序过程主要分为两个阶段:生成初始归并段和对初始归并段进行归并,这两个步骤中都涉及文件的读写操作。
课本考据:外排序的基本方法是归并排序法,它分为两个步骤:
1、生成若干初始归并段(顺串):将一个文件(含待排序的数据)中的数据分段读入内存中,在内存中对其进行内排序,并将经过排序的数据段(有序段)写到多个外存文件上。
2、多路并归:对这些初始归并段进行多遍归并,使得有序的归并段逐渐扩大,最后在外存上形成整个文件的单一归并段,完