ソートアルゴリズム可視化
代表的な 5 つの並べ替えアルゴリズムが、どんな順序で比較・交換しながら整列するかを見比べます。
アルゴリズム
0
14
10
比較回数
0
交換・書込回数
0
平均計算量
—
未整列
比較中
交換・書込
ピボット
確定
同じ「数を小さい順に並べる」でも、やり方によって 比較回数・交換回数が大きく変わります。
バー=数値。オレンジ=比較中、 赤=交換、 紫=ピボット、 緑=確定。 アルゴリズムを切り替えて、計算量の違いを体感してください。
バー=数値。オレンジ=比較中、 赤=交換、 紫=ピボット、 緑=確定。 アルゴリズムを切り替えて、計算量の違いを体感してください。
いま何をしている?
5 つのアルゴリズム
- バブルソート O(n²):隣同士を比べ、大きい方を後ろへ送る。実装は最も簡単。
- 選択ソート O(n²):未整列部分から最小値を選び、先頭に置く。交換回数が少ない。
- 挿入ソート O(n²):整列済みの列へ 1 つずつ正しい位置に差し込む。ほぼ整列済みなら高速。
- マージソート O(n log n):半分に分けて整列し、2 つの整列列をマージ。安定で速い。
- クイックソート 平均 O(n log n):ピボットで「以下/超」に分割し、再帰的に整列。