プロジェクトマネージャ平成31年春期 午前T 問3

午前T 問3

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

〔手順〕
  • "H←[データ数÷3]"とする。
  • データ列を,互いにH要素分だけ離れた要素の集まりからなる部分列とし,それぞれの部分列を,挿入法を用いて整列する。
  • "H←[H÷3]"とする。
  • Hが0であればデータ列の整列は完了し,0でなければ(2)に戻る。
  • [この問題の出題歴]
  • 応用情報技術者
    平成31年春期 問6と同題

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム

正解

解説

9つの要素を手順に沿って整列していくと、次のようになります。
  1. H ← 9÷3 //H=3
  2. Hが3なので、要素ごとが互いに3つずつ離れた要素から成る3つの部分文字列に分解し、それぞれ整列する。
    am1/06.gif/image-size:325×150
  3. H ← 3÷3 //H=1、(3)の処理1回目
  4. Hが0ではないので、(2)の処理に戻る
  5. Hが1なので、要素ごとが互いに1つずつ離れた要素から成る 3,1,6,4,2,8,7,5,9 を整列し、1,2,3,4,5,6,7,8,9 とする。
  6. H ← 1÷3 //H=0、(3)の処理2回目
  7. Hが0なので、データ列の整列が完了
したがって完了までに(3)の処理が繰り返される回数は2回です。
© 2017-2022 プロジェクトマネージャ試験ドットコム All Rights Reserved.

Pagetop