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

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

整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない1から9の数字がランダムに並んでいる数字列とする。

  1.  数字列の最後の数字から最初の数字に向かって,隣り合う二つの数字を比較して小さい数字が前に来るよう数字を入れ替える操作を繰り返し行う。
  2.  数字列の中からランダムに基準となる数を選び,基準より小さい数と大きい数の二つのグループに分け,それぞれのグループ内も同じ操作を繰り返し行う。
  3.  数字列をほぼ同じ長さの二つの数字列のグループに分割していき,分割できなくなった時点から,グループ内で数字が小さい順に並べる操作を繰り返し行う。
  4.  未処理の数字列の中から最小値を探索し,未処理の数字列の最初の数字と入れ替える操作を繰り返し行う。
解答・解説を見る

正解:ア

AI解説

バブルソートは、隣り合う二つの要素を比較し、大小関係が逆であれば入れ替えるという操作を、数字列の端から端まで繰り返し行うことで、値の大きい(または小さい)要素が泡のように少しずつ端へ移動していく整列アルゴリズムである。 ア: 正しい。隣り合う二つの数字を比較して小さい方を前に来るよう入れ替える操作を繰り返すのがバブルソートの特徴である。 イ: 基準値(ピボット)を選び、それより小さいグループと大きいグループに分割して同じ操作を繰り返す手法はクイックソートの説明である。 ウ: 数字列をほぼ同じ長さに分割していき、分割できなくなった時点からグループ内を整列しながら統合していく手法はマージソートの説明である。 エ: 未処理の範囲から最小値を探して先頭要素と入れ替える操作を繰り返す手法は選択ソートの説明である。 💡 整列アルゴリズムは「隣接比較・交換の繰返し=バブルソート」「分割統治+ピボット=クイックソート」「分割して併合=マージソート」「最小値探索+入替え=選択ソート」という一言のキーワードで区別できるようにしておく。

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

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

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

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

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