我正在寻找一个来自数据结构和算法类的问题的答案。我了解了合并排序但不记得集群和缓冲区。我不太清楚我理解这个问题。有人可以帮忙解释或回答吗?
一个大小为1百万个群集的文件 使用128个输入缓冲区进行排序 一个簇大小。有一个 一个簇大小的输出缓冲区。怎么样 如果是,将需要许多磁盘I / O. 平衡的k-way合并排序(a 使用多步合并算法?
答案 0 :(得分:1)
它询问磁盘操作的总数,这里的集群可以是任何大小。
您需要知道每次迭代平衡k-way合并排序需要多少磁盘IO。 (提示:每次合并传递都需要从磁盘读取和写入数组中的每个值一次)
然后计算出必须执行多少次迭代才能读取数据。
然后可以计算磁盘IO的总数。