令和6年度 春期 応用情報技術者試験 午前 問7
整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない1から9の数字がランダムに並んでいる数字列とする。
解答・解説
正解: ア. 数字列の最後の数字から最初の数字に向かって,隣り合う二つの数字を比較して小さい数字が前に来るよう数字を入れ替える操作を繰り返し行う。
バブルソートは、隣り合う要素を比較し、順序が逆であれば入れ替えるという操作を配列の端から繰り返すことで整列を行うアルゴリズムです。最大値または最小値が水面に浮かび上がるように移動していくことからこの名前が付けられています。
各選択肢の解説
- ア: 正解です。隣り合う二つの数字を比較して入れ替える操作を繰り返すのは、バブルソートの説明です。
- イ: 誤りです。基準となる数を選び、それより小さいグループと大きいグループに分割していく操作を繰り返すのは、クイックソートの説明です。
- ウ: 誤りです。データをほぼ同じ長さのグループに分割していき、整列しながら併合(マージ)していく操作を繰り返すのは、マージソートの説明です。
- エ: 誤りです。未処理の部分から最小値を探索し、未処理部分の先頭と入れ替える操作を繰り返すのは、選択ソートの説明です。