アルゴリズムとプログラミング
ITパスポート試験「アルゴリズムとプログラミング」の問題
4個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手順は,何回実行されるか。ここで,最初はデータの並び全体を整列対象とする。データの並び:[27,42,33,12]〔手順〕整列対象中の要素の最大の値を選び,最後の要素と入れ替える。最後の要素を整列対象から外す。整列対象に要素が1個以上残っていれば,(1)から(3)の一連の手順を実行する。残っていなければ,整列完了なので終了する。
ア2
イ3
ウ4
エ5
正解
ウ.4
手順を4要素[27,42,33,12]に対してトレースすると次のようになる。1回目:最大42を末尾の12と交換→[27,12,33,42]、整列対象[27,12,33]。2回目:最大33を末尾の33と交換(変化なし)→[27,12,33]→整列対象[27,12]。3回目:最大27を末尾の12と交換→[12,27]、整列対象[12]。4回目:整列対象が1個で、残っている(1個以上)なので(1)〜(3)を実行→最大12を末尾と交換(変化なし)→整列対象から外す→残りなし→終了。よって手順は4回実行される。
?選択肢ごとの解説
ア ×「2回」は誤りである。2回で終了する誤った解釈は「n-1回で終わる」という選択ソートの一般論(4要素なら3回)を更に少なく見積もった場合に起こるが、本手順の終了…
イ ×「3回」は誤りである。一般的な選択ソートの考え方でn-1回(4-1=3回)と判断してしまう誤りである。しかしこの問題の手順では「整列対象に要素が1個以上残ってい…
ウ ○手順を4要素[27,42,33,12]に対してトレースすると次のようになる。1回目:最大42を末尾の12と交換→[27,12,33,42]、整列対象[27,12,33]。2回目:最大33を末尾の33と交換(変化なし)→[27,12,33]→整列対象[27,12]。3回目:最大27を末尾の12と交換→[12,27]、整列対象[12]。4回目:整列対象が1個で、残っている(1個以上)なので(1)〜(3)を実行→最大12を末尾と交換(変化なし)→整列対象から外す→残りなし→終了。よって手順は4回実行される。
エ ×「5回」は誤りである。最初のデータが5要素の場合に起こりうる回数であり、問題は4要素のデータ列である。
アルゴリズムとプログラミングの他の問題
この問題の「深掘り・誤答の完全解説・試験のコツ・覚え方」はアプリで。
無料ではじめる →ITパスポート試験の全問を、一問ごとにAIの8-ways解説つきで。SRS暗記カード・全真模試・弱点診断まで。まずは無料で。
ukamiru 過去問 · ITパスポート試験 · itpass-r7k-q98
