【发布时间】:2013-02-15 17:50:14
【问题描述】:
我们知道快速排序是最快的排序算法。
JDK6 collections.sort 使用归并排序算法而不是快速排序。但是 Arrays.sort 使用的是快速排序算法。
Collections.sort 使用合并排序而不是快速排序的原因是什么?
【问题讨论】:
-
除非您能得到 JDK 作者的回答,否则您将得到的只是猜测。不是一个真正的问题。
-
@EJP 好点,但肯定“非建设性”是正确的关闭原因。我很清楚这里的问题是什么。
-
因为 Java 人决定这样做。问问他们。我认为您无法在这里得到合理的答案。快速排序不是最好的。它只适合通用。
-
一种猜测:Quicksort 不稳定,Mergesort 是。对于原语,稳定/不稳定排序是无关紧要的,对于对象它可能是(或者至少,您可能会收到针对不稳定排序的错误)。
-
@EJP,没有什么可以阻止 JDK 作者的意图公开。一旦公开,我们就不需要作者本人来回答了。事实上,即使没有 JDK 作者的回答,也有可能得到超出猜测的答案。
标签: java sorting collections