令和5年度秋期 応用情報技術者試験 午前 問6

分野:アルゴリズムとプログラミング|実際に出題されたIPA過去問題

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

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  クイックソート
  2.  挿入ソート
  3.  バブルソート
  4.  ヒープソート
解答・解説を見る

正解:ウ

AI解説

状態0から状態1への変化(3,5,9,6,1,2→3,5,6,1,2,9)は、隣接する要素同士を比較・交換しながら最大値9を末尾まで順に送り出す動きであり、これは1回の走査で隣接要素を交換していくバブルソートの特徴的な挙動である。 ア: クイックソートは基準値(ピボット)で要素を大小に分割していく方式であり、隣接要素を1回の走査で末尾へ送り出す本問の推移パターンとは異なる。 イ: 挿入ソートは未整列部分から要素を1つ取り出し既整列部分の適切な位置に挿入する方式であり、最大値が隣接交換で末尾に移動していく本問の推移とは異なる。 ウ: 隣接要素の比較・交換を繰り返し、1回の走査ごとに最大値が末尾に確定していく推移と一致しており、バブルソートが正解である。 エ: ヒープソートはヒープ構造を構築してから最大値を取り出す方式であり、単純な隣接交換による推移とは異なる。 💡 状態の推移を見て「1回の走査で最大(または最小)値が端に1つずつ確定していく」パターンはバブルソートの典型的な特徴として覚えておくとよい。

出典:令和5年度 秋期 応用情報技術者試験 午前 問6 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「アルゴリズムとプログラミング」分野の攻略ポイント

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング)の過去問