整列アルゴリズムを理解する
整列はデータをキー順に並べ替える処理である。基本情報ではバブル・選択・挿入などの動きを比較し、比較・交換・挿入の位置を追う。
この単元で学ぶこと
- バブルソートの意味と役割を説明できる
- 選択ソートの意味と役割を説明できる
- 挿入ソートの意味と役割を説明できる
- バブル・選択・挿入ソートの1回ごとの動きを説明できる
本文解説
バブルソートは隣接要素を比較交換し大きな値を端へ送る。選択ソートは未整列範囲から最小/最大を選んで所定位置へ置く。挿入ソートは整列済み部分へ次要素を適切な位置に挿入する。
バブルソート 隣接要素を比較し順序が逆なら交換する操作を繰り返す。 1回の走査で端に最大/最小が確定する。
選択ソート 未整列範囲から最小値などを選び先頭と交換する。 選択→配置を繰り返す。
挿入ソート 整列済み部分へ次要素を挿入する。 前方をずらして挿入位置を作る。
昇順 小さい値から大きい値へ並べる順序。 比較条件を逆にすると降順になる。
安定性 同じキーの要素の相対順序を保つ性質。 アルゴリズム実装により安定/不安定がある。
未整列範囲と確定済み範囲を分け、比較/交換/挿入後の配列を書き出す。
[3,1,2]を昇順バブルソートすると、3と1を交換→[1,3,2]、3と2を交換→[1,2,3]。
図解
重要ポイント
- バブルソート: 隣接要素を比較し順序が逆なら交換する操作を繰り返す。
- 選択ソート: 未整列範囲から最小値などを選び先頭と交換する。
- 挿入ソート: 整列済み部分へ次要素を挿入する。
- 昇順: 小さい値から大きい値へ並べる順序。
- 整列問題ではアルゴリズム名より「どこを比較し、何を確定させるか」を見る。
間違えやすい点
- バブルと選択の確定方法を混同しない。
- 昇順/降順の比較条件を逆にしない。
- 途中状態を最終結果だけで推測しない。
用語解説
- バブルソート
- 隣接要素を比較し順序が逆なら交換する操作を繰り返す。
- 選択ソート
- 未整列範囲から最小値などを選び先頭と交換する。
- 挿入ソート
- 整列済み部分へ次要素を挿入する。
- 昇順
- 小さい値から大きい値へ並べる順序。
- 安定性
- 同じキーの要素の相対順序を保つ性質。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。