応用情報技術者
アルゴリズムとプログラミング
バブルソートのアルゴリズムの説明として、適切なものはどれか。
1.
隣り合う要素を比較し、順序が逆であれば入れ替える作業を繰り返す。
✓ 正解
2.
データの中から最小値を順に探し出し、先頭と入れ替えていく。
3.
基準値を決めて、それより小さいグループと大きいグループに分割していく。
4.
整列済みの列の適切な位置に、未整列のデータを挿入していく。
📝 解説
バブルソートは「隣り合う要素を比較して順序が逆なら入れ替える」操作を繰り返す整列アルゴリズムです。体育の整列を思い浮かべてください。「前の人より背が高ければ前と交換」を端から端まで繰り返すと、一番大きな値が泡(バブル)のように末尾へ浮き上がっていきます。n個のデータで最大n-1回のパスが必要で、計算量はO(n²)です。実用的には遅いですが、仕組みが直感的でアルゴリズム学習の入門として世界中で使われています。誤答の「最小値を探して先頭と交換」は選択ソート、「基準値で分割を繰り返す」はクイックソート、「整列済みの列の正しい位置に挿入」は挿入ソートの説明です。ソートの種類ごとの特徴と計算量はセットで覚えましょう!