例题1:假设文件有4500个记录,每块磁盘可以放75个记录,计算机中用于排序的内存区可以存放 450 个记录,试问:
1)可以建立多少个初始归并段?每个归并段有多少个记录?存放于多少个块中?
2)应采用几路归并,请写出每趟需要读写磁盘的块数
解答:
1) 文件中有4500个记录,内部排序区可容纳450个记录(其实排序过程是 依次 输入1-450,451-900… 进行排序,然后输出构成有序的初始归并段 ),则可建立的初始归并段为4500/450 = 10,每个初始归并段有450个记录,存放于 450/75 =6 个块中。
2)内存区可以容纳6个块,所以可以建立5个输入缓冲区。1个输出缓冲区,因此采用5路归并。
为什么第二问是五个输入缓冲区不是才用于内部排序吗 而输出缓冲区只是暂存是数据?不应该就是六个输入吗
1)可以建立多少个初始归并段?每个归并段有多少个记录?存放于多少个块中?
2)应采用几路归并,请写出每趟需要读写磁盘的块数
解答:
1) 文件中有4500个记录,内部排序区可容纳450个记录(其实排序过程是 依次 输入1-450,451-900… 进行排序,然后输出构成有序的初始归并段 ),则可建立的初始归并段为4500/450 = 10,每个初始归并段有450个记录,存放于 450/75 =6 个块中。
2)内存区可以容纳6个块,所以可以建立5个输入缓冲区。1个输出缓冲区,因此采用5路归并。
为什么第二问是五个输入缓冲区不是才用于内部排序吗 而输出缓冲区只是暂存是数据?不应该就是六个输入吗