令和3年度 秋期 プロジェクトマネージャ試験 データベーススペシャリスト試験 エンベデッドシステムスペシャリスト試験 システム監査技術者試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問3
バブルソートの説明として,適切なものはどれか。
解答・解説
正解: ウ. 隣り合う要素を比較して,大小の順が逆であれば,それらの要素を入れ替えるという操作を繰り返す。
バブルソート(基本交換法)は、データ列において隣り合う要素の値を比較し、条件(昇順または降順)に合わなければそれらを入れ替えるという操作を、データ列の端から順に繰り返すことで整列を行うアルゴリズムです。
隣り合う要素を比較・交換していく過程で、最大値(または最小値)が水中の泡(バブル)のように徐々に端に移動していくことからこの名前が付けられています。
したがって、隣り合う要素の比較と入れ替えについて説明している「ウ」が正解です。
各選択肢の解説
- ア: 誤り。ある間隔おきに取り出した部分列を整列し、徐々に間隔を狭めていく手法は、シェルソートの説明です。
- イ: 誤り。中間的な基準値(ピボット)を決め、それより大きいグループと小さいグループに分割する操作を繰り返す手法は、クイックソートの説明です。
- ウ: 正解です。隣り合う要素を比較し、順序が逆であれば入れ替える手法は、バブルソートの説明です。
- エ: 誤り。未整列の部分を順序木(ヒープ)にし、そこから最小値を取り出して整列済の部分に移す操作を繰り返す手法は、ヒープソートの説明です。