python的sorted()使用什么算法?

时间:2012-06-08 12:33:37

标签: python sorting

  

可能重复:
  About python's built in sort() method

名字说明了一切。

我试图向某人解释为什么他们应该使用Python的内置sorted()函数而不是自己编译,我意识到我不知道它使用了什么算法。

如果重要,我们正在谈论python 2.7

3 个答案:

答案 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。

更多信息:http://bugs.python.org/file4451/timsort.txt