タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

アルゴリズムとtimsortに関するy-kawazのブックマーク (1)

  • 高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development

    先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解

    高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development
    y-kawaz
    y-kawaz 2011/10/27
    つまり複数のアルゴリズムな得意なパターンを上手く繋ぎあわせて全体として高速安定を保つようにしたアルゴリズムキメラがTimSortってことか。なんか #gdd11jp のスライドパズルで色々試したのを思い出したわ。
  • 1