学ぶ

id:morchi氏からの指摘

> sort()って確かクイックソートが実装されてるんじゃなかったっけかな。
Pythonクックブック 第2版」によれば、Python 2.3で「最適、自然、安定」マージソート(通称timsort)が実装されたらしいです。
2.5ならソースコードのObjects/listsort.txtに詳細が書いてあります。

これに従い、手元にある「Pythonクックブック第2版」を読む。


第5章P197にあった!

最終的な「最適、自然、安定」マージソートはPython2.3に実装されて大成功を収めるが、これはまたエンジニアリング上の大苦労でもあった(中略)Pythonソース配布中に長い技術情報を書いたので、興味のある向きはメインディレクトリの下のObjects/listsrt.txt(ただしPython2.3.5およびPython2.4の場合)を参照されたい。


確かに。
ちなみにクイックソートが実装されている、と勘違いしていた元ネタ。

プログラミングの宝箱 アルゴリズムとデータ構造 (C magazine)

プログラミングの宝箱 アルゴリズムとデータ構造 (C magazine)

こちらの第1章P10

実は、C言語の標準ライブラリに含まれている「qsort()」という関数は、多くの処理系でクイックソートを利用して実装されています。


いい加減なことは言うもんじゃない。
id:morchinさん、ありがとうございました。
知識がひとつ増えました。
余力のあるときにソースを見て勉強してみたいと思います。