テクノロジ系
春期
応用情報技術者 2012年 春期 問7
7 / 80
次の手順はシェルソートによる整列を示している。データ列 7,2,8,3,1,9,4, 5,6を手順(1)~(4)に従って列するとき、手順(3)を何回繰り返して完了するか。 ここで、[]は小数点以下を切り捨てた結果を表す。 〔手順〕 (1) [データ数→3]→日とする。 (2) データ列を、互いにH 要素分だけ離れた要素の集まりからなる部分列とし、それ ぞれの部分列を、挿入法を用いて列する。 (3)[日=3]→日とする。 (4) 日が0であればデータ列の整列は完了し、0でなければ(2)に戻る。
正解と解説
表示する
正解 ア
2
シェルソートで間隔H=[9/3]=3から始め、H=[H/3]で3→1→0と更新します。H=0で完了するので、手順(2)の整列は H=3 と H=1 の2回実行され、手順(3)を繰り返す回数は2回となり正解はアです。