令和6年春期試験問題 午前問7
問7解説へ
整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない1から9の数字がランダムに並んでいる数字列とする。
- 数字列の最後の数字から最初の数字に向かって,隣り合う二つの数字を比較して小さい数字が前に来るよう数字を入れ替える操作を繰り返し行う。
- 数字列の中からランダムに基準となる数を選び,基準より小さい数と大きい数の二つのグループに分け,それぞれのグループ内も同じ操作を繰り返し行う。
- 数字列をほぼ同じ長さの二つの数字列のグループに分割していき,分割できなくなった時点から,グループ内で数字が小さい順に並べる操作を繰り返し行う。
- 未処理の数字列の中から最小値を探索し,未処理の数字列の最初の数字と入れ替える操作を繰り返し行う。
広告
解説
バブルソートは、隣り合う要素を比較し大小関係が逆順になっていればその二つの要素の位置を交換することを繰り返すことで整列を行うアルゴリズムです。単純交換法、隣接交換法、基本交換法とも呼ばれます。大きい(小さい)要素が端に移動していく様子が、浮かび上がってくる泡のように見えることからバブルソートと呼ばれます。単純で実装が容易なため、ソートアルゴリズムの学習で取り上げられる機会が多い整列法です。
- 正しい。隣り合う二つの数字の比較を繰り返すという記述から、バブルソートの説明であると判断できます。
- クイックソートの説明です。
- マージソートの説明です。
- 選択ソートの説明です。
広告