Python内部排序方法

时间:2014-02-04 17:08:51

标签: python arrays sorting big-o

有谁知道Python在list.sort()内部使用什么类型的排序?或者它至少保证O(n * log(n))? docs并没有多说。我在阅读this question

后感到疑惑

1 个答案:

答案 0 :(得分:6)

Python使用TimSort,这是Tim Peters开发的一种新算法。

这是一种O(NlogN)排序算法,是的,对于最差和平均情况都是如此。在理想情况下,它会提高到O(N)。请参阅Python Wiki Time Complexity page和我链接到您的维基百科文章。

请注意,该算法已经证明非常流行,并且已经添加到Java SE 7,Android和GNU Octave中。