HOME»応用情報技術者試験掲示板»午前 シェルソートについて
投稿する
»[4113] 平成29年秋期午後問2 設問2(3) 投稿数:3
»[4112] 令和元年秋期午後問1設問2(2)cについて 投稿数:3
午前 シェルソートについて [4115]
なぞなぞさん(No.1)
https://www.ap-siken.com/kakomon/24_haru/q7.html
1回目で順序が「 3,1,6,4,2,8,7,5,9」になるのは納得です。が次に
Hが1なので、要素ごとが互いに1つずつ離れた要素から成る 3,1,6,4,2,8,7,5,9 を整列し、1,2,3,4,5,6,7,8,9 とする。とありますが
互いに1つずつなられると 31 64 42 87 59 というグループに分けられて
それでソートすると「 1,3,4,6,2,8,5,7,9 」になりませんか?
1回目で順序が「 3,1,6,4,2,8,7,5,9」になるのは納得です。が次に
Hが1なので、要素ごとが互いに1つずつ離れた要素から成る 3,1,6,4,2,8,7,5,9 を整列し、1,2,3,4,5,6,7,8,9 とする。とありますが
互いに1つずつなられると 31 64 42 87 59 というグループに分けられて
それでソートすると「 1,3,4,6,2,8,5,7,9 」になりませんか?
2023.04.02 14:59
Howitzerさん(No.2)
要素の位置を考えましょう。(0~8でも1~9でも可)
H=3のときは、要素の位置をH=3で割って
・割り切れるグループ
・1余るグループ
・2余るグループ
の3グループに分かれます。
H=1のときは、どの要素の位置も1で割り切れるので、
全ての要素が「割り切れるグループ」になります。つまり分割されません。
H=3のときは、要素の位置をH=3で割って
・割り切れるグループ
・1余るグループ
・2余るグループ
の3グループに分かれます。
H=1のときは、どの要素の位置も1で割り切れるので、
全ての要素が「割り切れるグループ」になります。つまり分割されません。
2023.04.02 15:47
y4 kさん(No.3)
この投稿は投稿者により削除されました。(2023.04.02 16:02)
2023.04.02 16:02
boyonboyonさん(No.4)
★AP シルバーマイスター
最初の数列
7,2,8,3,1,9,4,5,6
で、H=3のとき
3要素分離れた要素は、
7,*,*,3,*,*,4
と数えます。とばすのは2つです。
H=1のとき、とばすのは0個なので、ここでは
3,1,6,4,2,8,7,5,9
になります。
ソートの流れの確認ですが、
7,2,8,3,1,9,4,5,6
H=3(3行で表します。)
7,3,4
2,1,5
8,9,6
の3グループそれぞれでソート
3,4,7
1,2,5
6,8,9
先頭の列から順に一列に戻して
3,1,6,4,2,8,7,5,9
H=1の処理になります。
もしも、H=2を考えると
3,6,2,7,9
1,4,8,5
の2つのグループになり
2,3,6,7,9
1,4,5,8
から
2,1,3,4,6,5,7,8,9
ができます。
7,2,8,3,1,9,4,5,6
で、H=3のとき
3要素分離れた要素は、
7,*,*,3,*,*,4
と数えます。とばすのは2つです。
H=1のとき、とばすのは0個なので、ここでは
3,1,6,4,2,8,7,5,9
になります。
ソートの流れの確認ですが、
7,2,8,3,1,9,4,5,6
H=3(3行で表します。)
7,3,4
2,1,5
8,9,6
の3グループそれぞれでソート
3,4,7
1,2,5
6,8,9
先頭の列から順に一列に戻して
3,1,6,4,2,8,7,5,9
H=1の処理になります。
もしも、H=2を考えると
3,6,2,7,9
1,4,8,5
の2つのグループになり
2,3,6,7,9
1,4,5,8
から
2,1,3,4,6,5,7,8,9
ができます。
2023.04.02 16:14
その他のスレッド
»[4114] 平成29年秋 問5 設問4(1) 投稿数:3»[4113] 平成29年秋期午後問2 設問2(3) 投稿数:3
»[4112] 令和元年秋期午後問1設問2(2)cについて 投稿数:3