java - 如何在最快的时间内对接近排序的数组进行排序? ( java )

标签 java performance algorithm sorting smoothsort

我有一个值数组,该数组几乎(但不是完全排序)有一些值被替换(例如,100000 中有 50 个)。如何排序最有效? (性能在这里绝对至关重要,应该比 O(N) 快得多)。

我知道 smoothsort,但找不到 Java 实现。有谁知道它是否已经实现?或者我可以用什么代替 smoothsort 来完成这项任务?

最佳答案

实际上,维基百科包含 smoothsort 的 Java 实现。你可以在这里找到它:

http://en.wikipedia.org/wiki/Smoothsort .

关于java - 如何在最快的时间内对接近排序的数组进行排序? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1390832/

相关文章:

python - 为什么 < 比 >= 慢

javascript - 为什么使用全局变量而不是局部变量进行内存时递归速度更快?

java - 使用 Java Config 在多个 HttpSecurity 对象中自定义身份验证过滤器

java - Java 中类似于 Criterium 的 BenchMark 框架

java - 'model' 和 'view' 之间的接口(interface)

c++ - 找到一组相交的矩形

algorithm - 有没有比 Dijkstra 算法更好的方法来寻找不超过指定成本的最快路径

java - 从 GCMBroadcastReceiver 获取共享首选项

javascript - 替换消息中出现的 n 次特定字符串

algorithm - n 个元素之间的最小差异