この章を学ぶ前に必要な知識
ポイント
- 最悪計算時間はn^2になる非安定ソート
- ランダムなデータでは平均的に他のソートよりは早いと言われる
解 説
クイックソートのアルゴリズムの概要
どんなケースでも早いソートのアルゴリズムではありません。また、最悪計算時間はn^2になります。
アルゴリズムの手順は以下の通りです。 | 外部リンク Quick Sort(Wikipedia) |
小さい順で左から並べることを想定する。
| QuickSortアルゴリズム概略 |
Quick Sortの動き | |
Quickソートではピボットの選択によって最悪ケースになるかどうかが決まる。
その最悪ケースは、ピボットがソートする列の最大か最小を選んだ時なので、同一の値が多い時等は、そのケースにハマりやすく遅くなりやすいです。
実装次第ですが、既にソートされているものや逆順にソートされているものにおいて最初のピボットを選んでしまう場合も遅くなります。 | QuickSort のポイント |
大方並び終えた時に挿入ソートに変更して高速化することがなどが頻繁に
行われる。 | QuickSortと他の組み合わせ |
この章を学んで新たに学べる
Comments