Pythonのsorted()はどのようなアルゴリズムを使用していますか?[重複] 質問する

Pythonのsorted()はどのようなアルゴリズムを使用していますか?[重複] 質問する

Python 2.7 では、Python の組み込みsorted関数はどのように機能しますか? どのようなアルゴリズムを使用しますか?

ベストアンサー1

Pythonの古いバージョン(2.3 - 3.10)では、ティムソルト:

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

3.11以降、Pythonはパワーソートこれは、Ian Munro と Sebastian Wild によって設計されました。これは、ソートされたデータの既存の実行に適応する、改良されたほぼ最適なマージソートです。

おすすめ記事