Bar*_*ski 10 python sorting
sort(already_sorted_list)Python 的复杂性是什么?Python会检查给定的iterable是否已排序,或者我是否必须自己完成?我无法在文档中的任何地方找到它.
sort(already_sorted_list)
mgi*_*son 11
这完全取决于实现.所有python保证的是内置排序算法是稳定的(比较相等的元素保持它们的相对排序).如果想要实现,实现甚至可以使用稳定的冒泡排序......
Cpython使用TimSort(插入排序和mergesort的混合),如果输入已经排序,我认为它具有O(N)复杂度 - 它获得了插入排序的最佳情况性能和mergesort的最坏情况性能(O(NlogN) )).
如果您对实现很好奇,源代码有一个非常好的描述.
归档时间:
11 年,8 月 前
查看次数:
5313 次
最近记录:
9 年,8 月 前