SkillStack
テクノロジ系7 / 80問

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

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

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ア

バブルソートは、隣り合う二つの要素を比較し、順序が逆なら入れ替える操作を繰り返す整列方法です。アでは、数字列の末尾から先頭へ向かって比較し、小さい数字を前方へ移動させています。例えば「3、1、2」を末尾側から調べると、最初に1と2を比較してそのままとし、次に3と1を比較して入れ替えるので「1、3、2」になります。この1回の走査で最小値の1が先頭に確定します。未確定部分に同じ操作を繰り返せば、最終的に昇順になります。小さい値が泡のように端へ移動することから、バブルソートと呼ばれます。

イの方法は誤りです。これは、基準値を選び、それより小さいグループと大きいグループに分割して整列するクイックソートの説明です。 ウの方法は誤りです。これは、数字列を細かく分割した後、大小を比較しながら併合するマージソートの説明です。 エの方法は誤りです。これは、未処理部分から最小値を選び、未処理部分の先頭と交換する選択ソートの説明です。バブルソートのように隣接要素を順次交換する方法ではありません。

【ポイント】 バブルソートは「隣接する要素の比較と交換」、選択ソートは「最小値の選択」、クイックソートは「基準値による分割」で見分けます。 バブルソートの平均時間計算量はO(n²)であり、要素数が多い場合には効率が低下します。

出典:令和6年度 春期 応用情報技術者試験 午前 問7
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の80問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める