在Java中,排序已经排序的列表有多快?



我有一个List,我需要对它进行排序。现在,因为我的代码现在看起来有点像妈妈做的意大利面,我想知道如果我在List上调用.sort方法,当它已经排序时,这个排序是否会首先检查列表是否已经排序,然后就结束它,这样花费很少的时间,或者它只是要运行整个排序算法,并且花费和列表没有排序时一样多的时间?

在java中使用内置的sort方法对已经排序的列表进行排序是线性的。

Java使用Timsort,参见https://en.wikipedia.org/wiki/Timsort#Analysis:

在最好的情况下,当输入已经排序时,它在线性时间内运行

相关内容

  • 没有找到相关文章

最新更新