有谁知道Python在list.sort()内部使用什么类型的排序?或者它至少保证 O(n*log(n)) ?这docs http://docs.python.org/2/tutorial/datastructures.html不多说。读完后我想知道这个问题 https://stackoverflow.com/questions/36139/how-do-i-sort-a-list-of-strings-in-python
Python使用TimSort http://en.wikipedia.org/wiki/Timsort,蒂姆·彼得斯开发的一种新算法。
是的,无论是最坏情况还是平均情况,它都是 O(NlogN) 排序算法。在理想情况下,它可以提高到 O(N)。请参阅Python Wiki 时间复杂度页面 https://wiki.python.org/moin/TimeComplexity以及我链接到的维基百科文章。
请注意,该算法已被证明非常流行,并且也已添加到 Java SE 7、Android 和 GNU Octave 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)