平成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): データ数は9なので H =[9÷3]= 3
- 手順 (2)(H=3 で整列)→ 手順 (3)【1回目】: H =[3÷3]= 1 → 手順 (4): 0 でないので (2) へ
- 手順 (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