Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л р №5 Методы сортировки.doc
Скачиваний:
7
Добавлен:
31.08.2019
Размер:
349.18 Кб
Скачать

1. 5. Сортировка Шелла

В методе Шелла сравниваются не соседние элементы, а элементы, расположенные на расстоянии ( ) (где шаг между сравниваемыми элементами, [ ] — целая часть от числа). После каждого просмотра шаг уменьшается вдвое. На послед­нем просмотре он сокращается до .

Например, пусть дан список, в котором число элементов четно:

{40, 11, 83, 57, 32, 21, 75, 64}.

Список длины п разбивается на п/2 частей, т. е. .

При первом просмотре сравниваются элементы, отстоящие друг от друга на (рис. 7), т. е. и т. д. Если , то происходит обмен между позициями i и i+d. Перед вторым просмотром выбирается шаг (рис. 8). Затем выбираем шаг (рис. 9), т. е. имеем аналогию с методом стандартного обмена.

Сложность метода Шелла — .

Исходный массив

40

11

83

57

32

21

75

64

32

40

11

21

75

83

57

64

Полученный массив

32

11

75

57

40

21

83

64

Рис. 7. Метод Шелла (шаг ( )

Исходный массив

32

11

75

57

40

21

83

64

32

75

11

57

40

75

21

57

75

83

57

64

Полученный массив

32

11

40

21

75

57

83

64

Рис. 8. Метод Шелла (шаг ( )

Исходный массив

32

11

40

21

75

57

83

64

11

32

32

40

21

40

40

75

57

75

75

83

64

83

Полученный массив

11

32

21

40

57

75

64

83

Рис. 9. Метод Шелла (шаг ( )