【发布时间】:2014-08-10 13:41:34
【问题描述】:
假设有一个算法 X,它需要 2 个步骤才能最终输出到文件。
- 收集数据
- 排序数据
我们也可以说收集的数据太大而无法保存在 RAM 中,并且在第 2 步采取行动之前已写入文件。
例如,将一个包含数字的 500GB 文件作为步骤 1 的输出。每行一个数字。第 2 步必须按升序对行进行排序。
第 2 步如何在不读取整个输入文件的情况下有效地对数字进行排序?
【问题讨论】:
-
如果您同时实现收集器和排序器,为什么不在数据到达时对数据进行排序(插入排序等),以便生成的文件包含排序列表? softwareengineering.stackexchange.com/questions/302541/…