ALGO_SPEC: 単純ソート 3種
新人エンジニアがまずマスターすべき「データの並べ替え」の基本3種です。すべて計算量は O(n^2) ですが、動き(戦略)が全く異なります。
1. バブルソート (Bubble Sort)
隣り合う2つのデータを比較し、大きい方を右へ送る。この動きが「泡が浮かんでいく」ように見えるためバブルと呼ばれます。
- 見極めポイント:常に隣同士がチカチカ入れ替わり、右端から順番に値が固定されていきます。
2. 選択ソート (Selection Sort)
未整列の部分から「最小値」を見つけ出し、現在の先頭要素と交換する。これを繰り返します。
- 見極めポイント:一つずつ最小値を探すために全走査を行い、左端から順番に値が固定されます。バブルと違い、交換は1周につき1回だけです。
3. 挿入ソート (Insertion Sort)
左側を「整列済み」とし、新しい要素を適切な位置に「差し込む」手法です。トランプを整理する時の動きに似ています。
- 見極めポイント:左側の壁が少しずつ右へスライドしていくように見えます。すでに整列されているデータに対しては最速で終わります。
※ 実務で大規模データを扱う際は O(n log n)
のクイックソート等を使いますが、この3種は「ソートの基礎」としてアルゴリズム的思考を養うのに最適です。