ウカマル応用情報技術者ログイン

平成31年度 春期 応用情報技術者 問6

テクノロジ系

次の手順はシェルソートによる整列を示している。データ列 7,2,8,3,1,9,4,5,6 を手順(1)〜(4)に従って整列するとき,手順(3)を何回繰り返して完了するか。ここで,[ ] は小数点以下を切り捨てた結果を表す。

〔手順〕 (1) “H ← [データ数÷3]” とする。 (2) データ列を,互いに H 要素分だけ離れた要素の集まりから成る部分列とし,それぞれの部分列を,挿入法を用いて整列する。 (3) “H ← [H÷3]” とする。 (4) H が0であればデータ列の整列は完了し,0でなければ(2)に戻る。

選択肢
正解と解説

正解 ア

9個のデータではHが3→1→0と変わるので、手順(3)は2回実行されて整列が完了します。

手順(1)で、H←[9÷3]=3 です。手順(2)では、H=3の間隔の部分列ごとに挿入法で整列します。1回目の手順(3)で H←[3÷3]=1 となり、0ではないので手順(2)に戻ります。手順(2)では、H=1の間隔、つまりデータ列全体を挿入法で整列します。2回目の手順(3)で H←[1÷3]=0 となり、手順(4)で整列が完了します。手順(3)の実行回数は2回です。Hの変化だけで回数が決まり、データの並びは回数に影響しません。

イ:手順(1)でHを3にする計算も回数に数えると3回になります。手順(3)の実行は、3→1と1→0の2回だけです。

ウ:Hは3→1→0と変わり、0になった時点で整列は完了します。手順(3)を4回実行することはありません。

エ:手順(3)の回数は、データの交換回数や比較回数ではなく、Hの変化だけで決まります。Hが0になるまでの割り算は2回です。

出典:平成31年度 春期 応用情報技術者試験 問6

全年度から出題。10問で実力を判定します。登録不要。

出典:平成31年度 春期 応用情報技術者試験 問6(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方