この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ウ

解説

バブルソート(Bubble Sort)は、配列の隣り合う要素を比較し、順序が逆であれば交換するという操作を繰り返すことで整列を行うアルゴリズムです。「バブル」という名前は、小さい(または大きい)値が泡のように浮かび上がっていく様子に例えています。特徴:時間計算量はO(n²)(最悪・平均)、安定ソート(同値の相対順序が保存される)、実装が簡単。1回のパスで少なくとも最大値(または最小値)が正しい位置に確定します。選択肢cの「隣り合う要素を比較して大小順が逆なら入れ替える操作を繰り返す」が正確な説明です。

なぜ他の選択肢は違うのか

選択肢 ア
「ある間隔おきの部分列を整列し間隔を詰めて繰り返す」はシェルソート(Shell Sort)の説明です。バブルソートは常に隣接する要素を比較しますが、シェルソートは最初は大きな間隔で比較し徐々に間隔を縮めます。
選択肢 イ
「中間的な基準値を決めて大きい区分と小さい区分に振り分け再帰的に繰り返す」はクイックソート(Quick Sort)の説明です。ピボット(基準値)による分割が特徴であり、バブルソートとは根本的に異なります。
選択肢 エ
「未整列の部分から最小値を取り出して整列済の部分に移す」は選択ソート(Selection Sort)の説明です。最小値を選択して先頭に移動する操作を繰り返す点がバブルソートとの違いです。

解くときのポイント

ソートアルゴリズム4種の区別:バブルソート=「隣接比較・交換」、選択ソート=「最小値選択・移動」、挿入ソート=「適切な位置に挿入」、クイックソート=「ピボットで分割・再帰」、シェルソート=「間隔をおいた比較・縮小繰り返し」。