この記事では、PHP で書かれた並べ替えアルゴリズムのテストを紹介します。
14 の並べ替えアルゴリズムは次のとおりです:
アルゴリズムはアルファベット順に並べ替えられるのではなく、8,000 個の要素を並べ替える際の全体的な減少速度によって並べ替えられます。
使用される配列のサイズは次のとおりです:
測定ごとに異なるサイズの配列を使用し、それを並べ替え関数に渡します。
各テストは 3 回実行され、算術平均がとられます。
現在の配列サイズでのすべてのアルゴリズムによる並べ替えケース。
この時点で、カウンティング ソート、クイック ソート、コーム ソート、ヒープ ソート、マージ ソートの 5 つの最速アルゴリズムがテストされます。
この時点で、カウンティング ソート、クイック ソート、コーム ソート、ヒープ ソート、マージ ソートの 5 つの最速アルゴリズムがテストされます。
2,000,000 要素を使用したテストの最終ラウンドでは、カウンティング ソートとクイック ソートの 2 つのアルゴリズムのみがテストされました。
クイックソートは当然の優れたアルゴリズムです。カウントソートは、値の範囲が狭い場合にはうまく機能します。そうでない場合は、メモリ不足に対処できません。カクテルの並べ替えは、ランダムな値に対しては不適切な選択です。バブル ソートとそのバリアントは実際のアプリケーションには適していません。
ソースコード + すべてのアルゴリズムの結果: https://drive.google.com/file/d/0B63HSL7JD630VWdSSFgwdHR5RkU/edit?usp=sharing
組み込みの並べ替え機能を使用するのは楽しい練習です。解釈された PHP でソート関数を作成する場合、C バージョンの sort() よりも高速になることはありません。
翻訳リンク: http://blog.jobbole.com/68774/