整列の途中状態の推移から判定する整列アルゴリズム

推移過程を観察します。 状態 0: [3, 5, 9, 6, 1, 2] 状態 1: [3, 5, 6, 1, 2, 9] → 最大値 9 が隣接交換により末尾に確定 状態 2: [3, 5, 1, 2, 6, 9] → 2番目に大きい 6 が末尾から2番目に確定 このように,隣接する要素同士を比較・交換しながら走査を繰り返し,各走査ごとに最大値(または最小値)が端へ浮かび上がる(あるいは沈む)ように整列していく手法は「バブルソート(基本交換法)」の特徴です。したがって正解はウとなります。 各選択肢の解説は以下のとおりです。 基準値(ピボット)を選び,それより小さい要素と大きい要素に分割して再帰的に整列します。 整列済みの列に対して,未整列の要素を適切な位置に挿入していく整列手法です。 データを二分ヒープ木構造に構成し,根から最大値を取り出して再構成を繰り返す整列手法です。 状態 データ列 変化 0 3, 5, 9, 6, 1, 2 1 3, 5, 6, 1, 2, 9 9 が隣と交換を繰り返して末尾へ 2 3, 5, 1, 2, 6 , 9 6 が末尾から2番目へ 1回の走査ごとに、未整列部分の最大値が隣どうしの交換で末尾側へ移動しています。これはバブルソートの動きです。

あるデータ列を整列したら状態 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

出典令和5年度 秋期 応用情報技術者試験 午前 問6
ア
クイックソート
イ
挿入ソート
ウ
バブルソート
エ
ヒープソート