応用情報技術者試験 応用情報技術者試験 令和6年度春期 午前 問7: 整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない 1 から 9 の数字がランダムに並んでいる数字列とする。
整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない 1 から 9 の数字がランダムに並んでいる数字列とする。
50.49%
問題本文
整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない 1 から 9 の数字がランダムに並んでいる数字列とする。
選択肢
- ア.数字列の最後の数字から最初の数字に向かって,隣り合う二つの数字を比較して小さい数字が前に来るよう数字を入れ替える操作を繰り返し行う。
- イ.数字列の中からランダムに基準となる数を選び,基準より小さい数と大きい数の二つのグループに分け,それぞれのグループ内も同じ操作を繰り返し行う。
- ウ.数字列をほぼ同じ長さの二つの数字列のグループに分割していき,分割できなくなった時点から,グループ内で数字が小さい順に並べる操作を繰り返し行う。
- エ.未処理の数字列の中から最小値を探索し,未処理の数字列の最初の数字と入れ替える操作を繰り返し行う。
正解
ア. 数字列の最後の数字から最初の数字に向かって,隣り合う二つの数字を比較して小さい数字が前に来るよう数字を入れ替える操作を繰り返し行う。
解説
バブルソートは、隣り合う二つのデータを比較して順序が理想と逆なら交換する操作を繰り返す整列法である。アは「隣り合う二つの数字を比較して小さい数字が前に来るよう入れ替える」と隣接要素の比較・交換を述べており、バブルソートの記述として正しい。後ろから前へ向かって走査しても、小さい値が前方へ移動していく実装でバブルソートに該当する。
選択肢ごとの解説
- ア.正しい。隣り合う二つの数字を比較して交換する操作の繰り返しはバブルソートそのものである。
- イ.基準値を選んで大小二つのグループに分割し再帰的に処理するのはクイックソートの記述で、バブルソートではない。
- ウ.ほぼ同じ長さに分割していき、分割できなくなってから整列しながら併合するのはマージソートの記述である。
- エ.未処理部分から最小値を探して先頭と交換する操作の繰り返しは選択ソートの記述であり、バブルソートではない。
応用情報技術者試験 令和6年度春期 午前 の過去問一覧へ戻る・問7