メインコンテンツへスキップ
高度試験共通令和1年度 春期午前I問 3

令和1年度 春期 高度試験共通 午前I 問3

難度標準

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

選択肢

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

正解はアです。

詳細Layer 2
展開

シェルソートは、挿入法を改良した整列アルゴリズムで、離れた要素から順に整列していくことで効率化を図ります。まず、データ数9からH=[9÷3]=3となります。手順(2)でH=3の間隔で部分列を整列します。次に手順(3)でH=[3÷3]=1となります。このH=1の間隔での挿入法による整列(手順(2))が、通常の一つの部分列に対する挿入法と同じであり、データ列全体が整列された状態になります。最後に手順(4)でHは0ではないので(2)に戻りますが、H=1での挿入法により既に整列は完了しています。その後、H=[1÷3]=0となり、手順(4)でHが0になったため整列完了です。この手順(3)によるHの更新は、H=3からH=1への更新と、H=1からH=0への更新の2回となります。したがって、手順(3)は2回繰り返されます。

この解説は?
AI生成

解説は公式の問題文・公式解答を基に作成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ずリンク先の公式資料でご確認ください。

最終更新:

検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

分野「開発技術」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
本問の分野で問われる代表的な知識・用語の整理。
学習の進め方
正解/誤答の選択肢ごとに「なぜ正しい / なぜ違うのか」を1行ずつ言語化すると定着する。
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

関連する問題

開発技術 の他の問題

他年度の「開発技術」問題

高度試験共通 の同じ分野を年度をまたいで演習する

高度試験共通 の学習ガイド