Java采用什么排序算法?

时间:2014-11-26 00:21:26

标签: java sorting

Jana中Collections.sort使用哪种算法?我想这可能类似于快速排序。 Java也有Array.sort。它们不同吗?

1 个答案:

答案 0 :(得分:0)

对于所有这些问题,文档始终是最佳起点。

Collection.Sort documentation表示它使用"一个稳定的,自适应的,迭代的mergesort"而那个"实现改编自Tim Peters的Python排序(TimSort)。"

  

排序算法是修改后的mergesort (其中合并为   如果低子列表中的最高元素小于   高子列表中的最低元素。)

来自Array documentation

  

实施说明:排序算法是 Dual-Pivot Quicksort   由Vladimir Yaroslavskiy,Jon Bentley和Joshua Bloch撰写。这个   算法在许多导致的数据集上提供O(n log(n))性能   其他快速方式降级为二次性能,通常是   比传统(单枢轴)Quicksort实现更快。