Java中Arrays.Sort方法的运行时间

use*_*622 10 java performance

有没有人知道array.sort java方法的大O表示法的运行时间?我的科学博览会项目需要这个.

pin*_*her 12

来自官方文档

我观察到主要有两种方法.因此,它取决于您正在排序的内容以及sort您调用的方法系列中的重载方法.

Doc提到对于原始类型,例如long,byte(例如:)static void sort(long[]):

排序算法是一个经过调整的快速排序,改编自Jon L. Bentley和M. Douglas McIlroy的"工程排序功能",软件实践和经验,卷.23(11)P.1249-1265(1993年11月).该算法在许多数据集上提供n*log(n)性能,导致其他快速降序降级为二次性能.

对象类型:(例如:void sort(Object list[]))

保证O(nlogn)性能

排序算法是修改后的mergesort(如果低子列表中的最高元素小于高子列表中的最低元素,则省略合并).该算法提供有保证的n*log(n)性能.

希望有所帮助!