这个python排序方法的复杂性是什么?

时间:2013-01-21 07:59:31

标签: python algorithm sorting

我有一个列表列表,我正在使用以下

对它们进行排序
data=sorted(data, key=itemgetter(0))

想知道这个python方法的运行时复杂性是什么?

3 个答案:

答案 0 :(得分:25)

itemgetter(0)O(1)一起使用data时,平均排名为O(n log n),最糟糕的情况下排序为{{1}}。

有关Python中使用的排序方法的更多信息,请参阅Wikipedia

答案 1 :(得分:1)

排序就像排序一样,除了第一个从可迭代构建一个新的排序列表,而排序做到排序。主要区别在于空间复杂性。

答案 2 :(得分:0)

它是Timsort,而Timsort是一种基于合并排序和插入排序的自适应排序算法,那么我认为它属于比较排序,it's said,没有任何比较排序可以保证时间复杂度小于lg(N!)〜N log N。