応用情報 午前ラボ

学習の画面へ

シェルソートの手順の繰返し回数

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

次の手順はシェルソートによる整列を示している。データ列 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) に戻る。

  1. ア 2
  2. イ 3
  3. ウ 4
  4. エ 5
正解と解説を見る

正解: ア

ポイント

データ数は 9 です。

  1. 手順 (1): H ← [9 ÷ 3] = 3。(2) で間隔 3 の部分列を整列します。
  2. 手順 (3) 1 回目: H ← [3 ÷ 3] = 1。0 でないので (2) に戻り、間隔 1 (普通の挿入法) で整列します。
  3. 手順 (3) 2 回目: H ← [1 ÷ 3] = 0。(4) で完了します。

よって手順 (3) は 2 回 です。

「アルゴリズムとプログラミング」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)