午前 シェルソートについて
広告
なぞなぞさん
(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さん
★AP シルバーマイスター
(No.4)
最初の数列
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
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告