128

重複の可能性:
Python の組み込みの sort() メソッドについて

名前がすべてを物語っています。

Python の組み込みの sorted() 関数を自分でロールバックする代わりに使用する必要がある理由を誰かに説明しようとしていますが、それが使用するアルゴリズムがわからないことに気付きました。

問題がある場合は、Python 2.7 について話している

4

3 に答える 3

225

Python はTimsortと呼ばれるアルゴリズムを使用します。

Timsort は、マージ ソートと挿入ソートから派生したハイブリッド ソート アルゴリズムであり、多くの種類の実世界のデータに対して適切に機能するように設計されています。Python プログラミング言語で使用するために、2002 年に Tim Peters によって発明されました。このアルゴリズムは、既に順序付けされているデータのサブセットを見つけ、そのサブセットを使用してデータをより効率的に並べ替えます。これは、ランと呼ばれる識別されたサブセットを、特定の基準が満たされるまで既存のランとマージすることによって行われます。Timsort は、バージョン 2.3 以降の Python の標準ソート アルゴリズムです。Java SE 7 および Android プラットフォームで配列をソートするためにも使用されるようになりました。

于 2012-06-08T12:35:20.693 に答える
14

ソートアルゴリズムは Timsort と呼ばれます。ティムソートを見る

于 2012-06-08T12:35:58.903 に答える
13

2.3 以降、Python は timsort を使用しています。

詳細: http://bugs.python.org/file4451/timsort.txt

于 2012-06-08T12:37:52.183 に答える