java - 什么是对文件中数百万行整数进行排序的有效算法?

标签 java algorithm sorting data-structures complexity-theory

计数排序在这种情况下可能不起作用,因为 k 的取值范围很大。

快速排序可以用于大数据吗?

最佳答案

数百万个元素通常不被视为大数据,因此我相信在这种情况下快速排序可以解决问题。

您可以通过将数组拆分为 q 来稍微固定它子数组,对它们进行并行排序,然后使用 k-way-merge 合并生成的排序子数组。


但是,如果您的数据非常庞大 (10^9+) - 您需要考虑将作业分配给机器集群。

一种可扩展的方法是 map-reduce
The first slides of this class讨论使用 Map-Reduce 进行排序。

您可能想尝试名为 Hadoop 的 java 开源实现.

关于java - 什么是对文件中数百万行整数进行排序的有效算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17921667/

相关文章:

java - 找不到标志

Java泛型类,内部类使用外部类的参数

java - Android Java Http Post 到 PHP 服务器始终为 NULL?

java - Maven 管理的 Java EE 应用程序中 JBoss 提供的库

c - 旋转阵列(Larray hackerrank)

arrays - AS3中的多维数组排序

string - 从字符串 'A' 中删除最少的字母以删除字符串 'B' 的所有实例

algorithm - O(N) 中的哈密顿循环

javascript - MongoDB 使用 node-mongodb-native 排序

java - 具有可比性的双链表排序