この概念が出た関連問題

この試験の対策ガイド

ITパスポート試験 対策ガイド

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

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

正解は ウ

解説

バブルソート(隣接要素の比較交換による整列)の実行回数を求める問題です。データ:[27, 42, 33, 12]を昇順整列する手順を追います。手順は①対象範囲の隣接要素を比較して大きい方を後ろに移動②対象範囲を一つ縮小③最小要素が確定するまで繰り返す。1回目:[27,42,33,12]→比較・交換→[27,33,12,42](最大42確定)、2回目:[27,33,12]→[27,12,33](次大33確定)、3回目:[27,12]→[12,27](27確定)、4回目:[12]→整列完了確認。合計4回実行(選択肢c)。n個のデータはn-1回の一連の手順で整列完了します(n=4なら3回...ただし確認も含めると4回)。

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

選択肢 ア
2回では[27,42,33,12]が完全には昇順になりません。2回目終了時は[27,12,33,42]の状態で、27と12の順番がまだ逆です。
選択肢 イ
3回では最後の確認(全体が整列済みかの確認実行)が含まれない場合の誤答、または各回の交換処理を誤ってカウントした場合の結果です。
選択肢 エ
5回は実際に必要な回数(4回)を超えた誤答です。問題の手順定義(何を「1回」と数えるか)を正確に理解することが重要です。

解くときのポイント

バブルソートの実行回数:n個のデータはn-1回の比較パスで整列完了。ただし「最後の確認も実行に含める」かどうかの解釈で結果が変わる場合がある。実際に手を動かしてトレースすることで確実に求められます。手順の定義を問題文から正確に読み取ること。