あるデータ列を整列したら状態0から順に状態1,2,...,Nへと推移した。整列に使ったアルゴリズムはどれか。
状態0 3, 5, 9, 6, 1, 2
状態1 3, 5, 6, 1, 2, 9
状態2 3, 5, 1, 2, 6, 9
…
状態N 1, 2, 3, 5, 6, 9
- クイックソート
- 挿入ソート
- バブルソート
- ヒープソート
解答
ウ
解説
- クイックソート
クイックソートは、中間的な基準値を決めて、それよりも大きな値を集めた区分と、小さな値を集めた区分に要素を振り分ける。次に、それぞれの区分の中で同様の操作を繰り返す方法です。 - 挿入ソート
挿入ソートは、既に整列済みのデータ列の正しい位置に、データを追加する操作を繰り返していく方法です。 - バブルソート
正しいです。
バブルソートは、隣り合う要素を比較して、大小の順が逆であれば、それらの要素を入れ替えるという操作を繰り返す方法です。 - ヒープソート
ヒープソートは、未整列の部分を順序木にし、そこから最小値を取り出して整列済の部分に移す。この操作を繰り返して、未整列の部分を縮めていく方法です。
参考情報
分野・分類
分野 | テクノロジ系 |
大分類 | 基礎理論 |
中分類 | アルゴリズムとプログラミング |
小分類 | アルゴリズム |
出題歴
- AP 令和5年度秋期 問6