标签: python algorithm sorting
我有一个列表列表,我正在使用以下
data=sorted(data, key=itemgetter(0))
想知道这个python方法的运行时复杂性是什么?
答案 0 :(得分:25)
itemgetter(0)与O(1)一起使用data时,平均排名为O(n log n),最糟糕的情况下排序为{{1}}。
itemgetter(0)
O(1)
data
O(n log n)
有关Python中使用的排序方法的更多信息,请参阅Wikipedia。
答案 1 :(得分:1)
排序就像排序一样,除了第一个从可迭代构建一个新的排序列表,而排序做到排序。主要区别在于空间复杂性。
答案 2 :(得分:0)
它是Timsort,而Timsort是一种基于合并排序和插入排序的自适应排序算法,那么我认为它属于比较排序,it's said,没有任何比较排序可以保证时间复杂度小于lg(N!)〜N log N。