1. ホーム
  2. python

[解決済み] Pythonの組み込み型sort()メソッドについて

2022-08-13 15:11:18

質問

どのようなアルゴリズムがビルトインされているのですか? sort() メソッドはどのようなアルゴリズムを使用していますか?そのメソッドのコードを見てもらうことは可能でしょうか?

どのように解決するのですか?

もちろんです。 コードの はここで で始まり、関数 islt で始まり、かなり長い間続いています;-)。Chrisのコメントにもあるように、これはCのコードです。 また この のテキストファイルを読むと、テキストによる説明、結果、その他諸々がわかります。

もしあなたがCのコードよりもJavaのコードを読む方が好きなら、Joshua BlochのtimsortのJavaでの実装を見ることができます(Joshuaはまた、1997年に、Javaでまだ使われている修正mergesortを実装した人物で、Javaがいずれ彼の最近のtimsortの移植版に移行することを望むことができます)。

timsort の Java 移植版に関するいくつかの説明を以下に示します。 ここで で、その差分は こちら (必要なすべてのファイルへのポインタを含む)、キーファイルは ここに -- 参考までに、私は Java プログラマーよりも C プログラマーの方が得意ですが、この場合、Tim の C コードよりも Joshua の Java コードの方が全体的に読みやすいと思います;-)。