IT PASSPORT
ITパスポートの問題解説
問題
配列の整列方法に関する説明のうち、「隣り合う二つの要素を比較し、大小の順序が逆なら入れ替える操作を、配列全体について繰り返す」方法に当てはまるものはどれか。
- ア バブルソート
- イ 選択ソート
- ウ 挿入ソート
- エ クイックソート
出典:オリジナル問題|参考範囲:IPA ITパスポート試験シラバス(最新版)、情報処理技術者試験の基礎知識
正解と解説
正解:バブルソート
解説:バブルソートは隣り合う2要素を比べ、順序が逆であれば入れ替える操作を配列全体に繰り返します。例えば「3, 1, 2」を小さい順にする場合、3と1を入れ替えて「1, 3, 2」、次に3と2を入れ替えて「1, 2, 3」となります。大きい値が泡のように端へ移動する様子からこの名が付きました。仕組みは直感的ですが、比較と交換を何度も行うため計算量はO(n²)と大きくなります。同じ整列でも、選択ソートは最小値を選んで先頭に置く、挿入ソートは正しい位置へ差し込む、クイックソートは基準値で分割するというように手順が異なります。「隣り合う要素を比較して交換」という説明は、これらのうちバブルソートに特有のものです。
覚え方:「隣同士を比べて交換=バブル(泡)ソート」。整列方法は『隣同士=バブル』『最小を選ぶ=選択』『差し込む=挿入』『分割=クイック』と手順の特徴で結びつけて区別しましょう。
他の選択肢はなぜ違う?
- イ選択ソートは、未整列部分の中から最小(または最大)の値を選び出して先頭に置く操作を繰り返す方法で、隣り合う要素を比較交換していくバブルソートとは手順が異なります。
- ウ挿入ソートは、すでに整列済みの並びに対し、次の要素を正しい位置へ差し込みながら並べ替える方法で、隣同士の交換を全体に繰り返すバブルソートとは異なります。
- エクイックソートは、基準値(ピボット)を決めて大小2つのグループに分割する操作を再帰的に繰り返す高速な方法で、隣接要素を順に交換していく方法ではありません。
この問題について
IPAのITパスポート試験シラバスとIT基礎知識を参考に、Sikaku Master向けに独自作成した問題です。公式試験問題・過去問題の転載ではありません。
IPAの過去問題の転載ではなく、シラバス・公開情報に基づく独自問題として作成しています。