Arrays.sort()快吗?

时间:2015-01-26 01:16:01

标签: java arrays sorting

我已将QuickXMergeXRobert SedgewickKevin Wayne数据一起比较的Arrays.sort()与randomcompare进行了比较。

$ ./compare MergeX ArraysSort QuickX QuickLog2
N = 2000000
MergeX sec. = 1.835
Arrays sec. = 1.946
QuickX sec. = 1.698
QuickLog2 sec. = 1.574

N = 4000000
MergeX sec. = 4.091
Arrays sec. = 4.082
QuickX sec. = 3.826
QuickLog2 sec. = 3.474

N = 8000000
MergeX sec. = 9.007
Arrays sec. = 8.602
QuickX sec. = 8.183
QuickLog2 sec. = 7.445

QuickLog2是一个shell脚本 ArraysSort调用java.util.arrays.sort()。

public static void main(String[] args) {
    String[] a = StdIn.readAllStrings();
    Stopwatch timer = new Stopwatch();
    java.util.Arrays.sort(a);
    double elapsedTime = timer.elapsedTime();
    show(a);
    if (isSorted(a)) StdOut.println("Arrays sec. = " + elapsedTime);
}

QuickX和MergeX被修改为输出ArraysSort之类的经过时间。 my quicksorttuned quicksort

ArraysSort比 QuickX 5%
我的检查有什么问题吗? Java中有一些魔力吗? 我是Java的新手 为什么不将quicksort用于对象数组?

在我写这个问题的路上,我在这个网站上找到了{{3}}。 它比timsort慢吗?

我的环境是......

$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

0 个答案:

没有答案