有没有人知道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)性能.
希望有所帮助!