名字说明了一切。
我试图向某人解释为什么他们应该使用Python的内置sorted()函数而不是自己编译,我意识到我不知道它使用了什么算法。
如果重要,我们正在谈论python 2.7
答案 0 :(得分:98)
Python使用名为Timsort的算法:
Timsort是一种混合排序算法,源自合并排序和 插入排序,旨在在各种现实世界中表现良好 数据。它是Tim Peters在2002年发明的,用于Python 编程语言。该算法查找数据的子集 已经订购,并使用子集对数据进行更多排序 有效率的。这是通过合并一个被识别的子集来完成的,称为a 运行,使用现有运行直到满足某些条件。 Timsort 自2.3版以来一直是Python的标准排序算法。它是 现在也用于在Java SE 7和Android上对数组进行排序 平台。
答案 1 :(得分:6)
排序算法称为Timsort。见timsort
答案 2 :(得分:4)
从2.3开始,Python使用了timsort。