IPA過去問ドリル

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

テクノロジ/アルゴリズム

未整列の配列 A[i](i=1, 2, …, n)を,次の流れ図によって整列する。ここで用いられる整列アルゴリズムはどれか。

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

出典:令和4年度 秋期 応用情報技術者試験 午前 問6

正解:エ

解説

外側のループで i を 1 から n−1 まで進め,内側のループで j を配列の末尾 n から i+1 まで戻しながら,隣接する要素 A[j] と A[j−1] を比較して A[j] が小さければ交換しています。隣接要素の比較・交換を繰り返して小さい要素を先頭側に浮かび上がらせる,バブルソートの動きです。

選択肢ごとの解説

  • 誤り。クイックソートは基準値(ピボット)を決めて,それより小さい要素と大きい要素とに分割することを再帰的に繰り返す方法です。
  • 誤り。選択ソートは未整列部分から最小(最大)の要素を探し出し,先頭要素と交換する操作を繰り返す方法で,隣接交換は行いません。
  • 誤り。挿入ソートは整列済みの部分列に対して新たな要素を適切な位置に挿入していく方法です。
  • 正しい。隣接する2要素の比較と交換を端から端まで繰り返すのはバブルソートの特徴です。
応用情報技術者の過去問を演習モードで解く