在Python 2.7中,Python的内置
sorted
函数是如何工作的——它使用什么算法?
旧版本的 Python (2.3 - 3.10) 使用一种名为 Timsort:
的算法Timsort 是一种混合排序算法,源自归并排序和 插入排序,旨在在多种现实世界中表现良好 data。 它是 Tim Peters 于 2002 年发明的,用于 Python 编程语言。该算法找到数据的子集 已经排序,并使用子集对数据进行更多排序 有效率的。这是通过合并一个已识别的子集(称为 运行,与现有的运行,直到满足某些条件。 Timsort是Python从2.3版本到3.10版本的标准排序算法。它是 现在还用于在 Java SE 7 和 Android 上对数组进行排序 平台。
从 3.11 开始,Python 使用由 Ian Munro 和 Sebastian Wild 设计的 Powersort。它是一种改进的近乎最优的合并排序,可以适应现有的排序数据运行。
排序算法称为 Timsort。请参阅timsort
从 2.3 Python 开始使用 timsort。