平成24年度春期 問7 / 80

平成24年度 春期 応用情報技術者試験 午前 問7

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

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

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ア

手順 (3) の回数は H の変化だけで決まり,データの値には関係しません。

  1. 手順 (1): データ数は9なので H =[9÷3]= 3
  2. 手順 (2)(H=3 で整列)→ 手順 (3)【1回目】: H =[3÷3]= 1 → 手順 (4): 0 でないので (2) へ
  3. 手順 (2)(H=1 で整列)→ 手順 (3)【2回目】: H =[1÷3]= 0 → 手順 (4): 0 なので完了

手順 (3) は 2回 です。

  • ア: 2
    正しい。H は 3 → 1 → 0 と変化し,手順 (3) は2回実行されて完了します。

  • イ: 3
    誤り。H が 0 になった時点で完了するので,3回目の手順 (3) は実行されません。

  • ウ: 4
    誤り。手順 (3) は2回しか実行されません。

  • エ: 5
    誤り。手順 (3) は2回しか実行されません。


答え

ア: 2

出典:平成24年度 春期 応用情報技術者試験 午前 問7

平成24年度春期の他の問題