整列アルゴリズムを理解する

整列はデータをキー順に並べ替える処理である。基本情報ではバブル・選択・挿入などの動きを比較し、比較・交換・挿入の位置を追う。

この単元で学ぶこと

  • バブルソートの意味と役割を説明できる
  • 選択ソートの意味と役割を説明できる
  • 挿入ソートの意味と役割を説明できる
  • バブル・選択・挿入ソートの1回ごとの動きを説明できる

本文解説

バブルソートは隣接要素を比較交換し大きな値を端へ送る。選択ソートは未整列範囲から最小/最大を選んで所定位置へ置く。挿入ソートは整列済み部分へ次要素を適切な位置に挿入する。

バブルソート 隣接要素を比較し順序が逆なら交換する操作を繰り返す。 1回の走査で端に最大/最小が確定する。

選択ソート 未整列範囲から最小値などを選び先頭と交換する。 選択→配置を繰り返す。

挿入ソート 整列済み部分へ次要素を挿入する。 前方をずらして挿入位置を作る。

昇順 小さい値から大きい値へ並べる順序。 比較条件を逆にすると降順になる。

安定性 同じキーの要素の相対順序を保つ性質。 アルゴリズム実装により安定/不安定がある。

未整列範囲と確定済み範囲を分け、比較/交換/挿入後の配列を書き出す。

[3,1,2]を昇順バブルソートすると、3と1を交換→[1,3,2]、3と2を交換→[1,2,3]。

図解

三つの基本整列アルゴリズム
隣接交換・最小値選択・整列済み部分への挿入を比較する。

重要ポイント

  • バブルソート: 隣接要素を比較し順序が逆なら交換する操作を繰り返す。
  • 選択ソート: 未整列範囲から最小値などを選び先頭と交換する。
  • 挿入ソート: 整列済み部分へ次要素を挿入する。
  • 昇順: 小さい値から大きい値へ並べる順序。
  • 整列問題ではアルゴリズム名より「どこを比較し、何を確定させるか」を見る。

間違えやすい点

  • バブルと選択の確定方法を混同しない。
  • 昇順/降順の比較条件を逆にしない。
  • 途中状態を最終結果だけで推測しない。

用語解説

バブルソート
隣接要素を比較し順序が逆なら交換する操作を繰り返す。
選択ソート
未整列範囲から最小値などを選び先頭と交換する。
挿入ソート
整列済み部分へ次要素を挿入する。
昇順
小さい値から大きい値へ並べる順序。
安定性
同じキーの要素の相対順序を保つ性質。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。