正答3
解説
正解は3です。
この問題は、代表的な整列(ソート)アルゴリズムの説明からバブルソートを選ぶものです。
バブルソートは、隣どうしの比較と交換を繰り返すことで、大きい(小さい)値が泡のように端へ移っていく方式です。
【選択肢別解説】
1:× 一定間隔おきの要素で部分列を作って整列し、間隔を詰めていくのはシェルソートの説明です。
最終的に間隔1で挿入ソートを行う、挿入ソートの改良版です。
2:× 基準値(ピボット)より大きい区分と小さい区分に振り分け、各区分で同じ操作を繰り返すのはクイックソートの説明です。
分割統治法の代表例で、平均計算量はO(n log n)です。
3:○ 隣り合う要素を比べ、順序が逆なら入れ替える操作を繰り返すのがバブルソートです。
1回の走査で最大(最小)値が端に確定し、これを未整列部分がなくなるまで繰り返します。
4:× 未整列部分を順序木(ヒープ)にし、最小値(最大値)を取り出して整列済みに移すのはヒープソートの説明です。
ヒープの根に常に最小(最大)値があることを利用します。
【ポイント】
バブルソートの計算量はO(n²)で、単純ですが大量データには不向きです。
シェルソート、クイックソート、ヒープソートの説明文と特徴の言葉(間隔・基準値・ヒープ)を対応させて覚えましょう。