令和4年度 秋期 応用情報技術者試験 午前 問6
未整列の配列 A[i] (i=1,2,…,n) を,次の流れ図によって整列する。ここで用いられる整列アルゴリズムはどれか。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:エ
この流れ図を分析すると、以下のような特徴があります:
- 外側のループ(ループ1)は配列の先頭から最後まで進みます(i: 1 → n-1)。
- 内側のループ(ループ2)は配列の末尾から外側ループの現在位置まで進みます(j: n → i+1)。
- 各反復において、隣り合う要素を比較し、大小関係が逆であれば交換を行います(A[j] と A[j-1] を比較し、A[j] が小さい場合に交換)。
この処理は、隣り合う要素を比較しながら、大きい値を配列の後ろに「泡のように」移動させるアルゴリズム、つまり バブルソート に対応しています。
他の選択肢について
-
ア: クイックソート
クイックソートは再帰的に基準値を選び、その基準値を基に分割と統治を行う方法ですが、この流れ図には該当する動きがありません。 -
イ: 選択ソート
選択ソートは、未整列部分の中から最小値または最大値を選んで先頭または末尾に移動するアルゴリズムです。この流れ図では明示的に「最小値の選択」を行っていないため該当しません。 -
ウ: 挿入ソート
挿入ソートは、未整列部分の先頭要素を順番に取り出して、既に整列済みの部分に挿入するアルゴリズムですが、この流れ図では該当しません。
答え
エ: バブルソート
出典:令和4年度 秋期 応用情報技術者試験 午前 問6