algorithm - 在 1 GB 内存中排序 10GB 数据。我将如何做?

标签 algorithm

问题来了: 我的电脑只有 1GB 内存。我有一个 10 GB 数据的文本文件。此文件包含数字。我将如何对它们进行排序?

添加更多细节。

 -They are all integers like 10000, 16723998 etc.   
 -same integer values can be repeatedly appearing in the file.

最佳答案

将文件拆分成可以就地排序的部分(缓冲区)

然后当所有缓冲区都排序后,一次取 2 个(或更多)并合并它们(如 merge sort )直到只剩下 1 个缓冲区,这将是排序后的文件

关于algorithm - 在 1 GB 内存中排序 10GB 数据。我将如何做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6988611/

相关文章:

python - 如何用scipy优化n个点的位置?

java - 如何使用 Luhn 算法添加信用卡号

arrays - 合并排序算法(合并数组部分)

java - 我可以使用自定义算法而不是使用 RabbitMQ 的循环调度消息吗?

c - Knuth 的《编程艺术》第三版和欧几里得算法示例

java - 在 Java 中实现置换算法的技巧

javascript - 从嵌套数组生成唯一组合 (JS)

c++ - 2个数字之间的随机数选择器

隐含图的 Python 搜索算法

javascript - 将平面 json 文件转换为 javascript 中的树结构