С теория :
{1,2,3,4,5,6,7,8,9,10}
с зазором 5
(10 >>> 1
):
{1,6}{2,7}{3,8}{4,9}{5,10}
^ ^ ^ ^ ^ --> 5 comparisons
с зазором 2
(5 >>> 1
):
{1,3,5,7,9}{2,4,6,8,10}
^ ^ ^ ^ ^ ^ ^ ^ --> 8 comparisons
с зазором 1
(2 >>> 1
):
{1,2,3,4,5,6,7,8,9,10}
^ ^ ^ ^ ^ ^ ^ ^ ^ --> 9 comparisons
Всего: 22 сравнения.Где проблема?:)
ОБНОВЛЕНИЕ
10,9,8,7,6,5,4,3,2,1
С зазором 5
(10 >>> 1
):
10,5 9,4 8,3 7,2 6,1
ê ê ê ê ê --> 5c, 5e
5,4,3,2,1,10,9,8,7,6
С зазором 2
(5 >>> 1
):
5,3,1,9,7
5,3
ê --> 1c, 1e --> 3,4,5,2,1,10,9,8,7,6
3,5,1 ‾ ‾
ê ê --> 2c, 2e --> 1,4,3,2,5,10,9,8,7,6
1,3,5,9 ‾ ‾ ‾
^ --> 1c
1,3,5,9,7
^ ê --> 2c, 1e --> 1,4,3,2,5,10,7,8,9,6
‾ ‾
4,2,10,8,6
4,2
ê --> 1c, 1e --> 1,2,3,4,5,10,7,8,9,6
2,4,10 ‾ ‾
^ --> 1c
2,4,10,8
^ ê --> 2c, 1e --> 1,2,3,4,5,8,7,10,9,6
2,4,8,10,6 ‾ ‾‾
^ ê ê --> 3c, 2e --> 1,2,3,4,5,6,7,8,9,10
‾ ‾ ‾‾
С зазором 1
(2 >>> 1
):
1,2,3,4,5,6,7,8,9,10
^ ^ ^ ^ ^ ^ ^ ^ ^ --> 9c
Я пришел к 27 сравнениям и 13 обменам.
Я почти уверен, что вы можете выполнить последний тест с ручкой и бумагой самостоятельно.:)