令和7年度 問98
選択ソートの繰り返し回数
出典: 令和7年度 ITパスポート試験 公開問題 問98 (IPA)
4 個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手順は,何回実行されるか。ここで,最初はデータの並び全体を整列対象とする。
データの並び:[27, 42, 33, 12]
〔手順〕
- (1) 整列対象中の要素の最大の値を選び,最後の要素と入れ替える。
- (2) 最後の要素を整列対象から外す。
- (3) 整列対象に要素が 1 個以上残っていれば,(1)から(3)の一連の手順を実行する。残っていなければ,整列完了なので終了する。
- ア 2
- イ 3
- ウ 4
- エ 5
正解と解説を見る
正解: ウ
- ア: 2 回では、まだ 2 個の要素が残っています。
- イ: 3 回でも、まだ 1 個の要素が残っていて、(3) の条件により繰り返します。
- ウ: 要素が 0 個になるまで繰り返すので、4 回です。正しい答えです。
- エ: 5 回目は行われません。4 回目で整列対象が 0 個になります。
ポイント
手順は、最大の値を選んで最後に移し、最後の要素を整列対象から外す ことの繰り返しです。(3) で、要素が 1 個以上残っていれば繰り返します。
| 回 | 整列対象 | 操作後 | 残りの要素数 |
|---|---|---|---|
| 1 回目 | 27, 42, 33, 12 | 27, 12, 33 / 42 | 3 |
| 2 回目 | 27, 12, 33 | 27, 12 / 33 | 2 |
| 3 回目 | 27, 12 | 12 / 27 | 1 |
| 4 回目 | 12 | 12 (自分自身と入れ替え) | 0 |
4 回目で残りが 0 個になり終了するので、4 回 です。
広告
「アルゴリズムとプログラミング」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)
広告