応用情報技術者試験 応用情報技術者試験 平成31年度春期 午前 問6: 次の手順はシェルソートによる整列を示している。データ列 7,2,8,3,1,9,4,5,6 を手順(1)〜(4)に従って整列するとき,手順(3)を何回繰り返して

←
応用情報技術者試験 平成31年度春期 午前
Q 66 / 80
次の手順はシェルソートによる整列を示している。データ列 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)に戻る。
この問の正解率:53.03%(1,203件)

解説

応用情報技術者試験 平成31年度春期 午前 問6「次の手順はシェルソートによる整列を示している。データ列 7,2,8,3,1,9,…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約53%です。

正解

ア. 2

正答率 53.0%(1,203人中 638人が正解)

問題の解説

データ数は 9 なので、手順(1)で H は 3 になる。手順(2)で間隔 3 の整列をした後、手順(3)で H は 1 になり、再び手順(2)で間隔 1 の整列をする。次の手順(3)で H は 0 になって手順(4)で完了するので、手順(3)は 2 回実行される。

選択肢ごとの解説

  • ア正しい。H は 3 から 1、1 から 0 と二回だけ更新され、手順(3)の実行は 2 回である。
  • イH がとる値 3、1、0 の個数を数えた値で、手順(3)の実行回数ではない。手順(3)で更新されるのは 3 から 1 と 1 から 0 の 2 回である。
  • ウH は 3、1、0 としか変化しないので、手順(3)が 4 回も実行されることはない。
  • エH の値は 3、1、0 の順に変わるだけで、手順(3)を 5 回繰り返す余地はない。

応用情報技術者試験 平成31年度春期 午前 の過去問一覧に戻る・問6

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード