Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
125
Добавлен:
30.05.2015
Размер:
174.08 Кб
Скачать

7.3 Метод Шелла

Основная идея сортировки по Шеллу заключается в том, что сначала сравниваются удаленные друг от друга элементы, а не смежные, как это выполнялось в методе пузырька. Это приводит к быстрому устранению большей части неупорядоченности и сокращает последующую работу. Интервал между элементами постепенно сокращается до единицы, когда сортировка фактически превращается в метод перестановки соседних элементов.

Обычно начальный шаг удаления выбирают равным половине числа элементов сортируемого массива, а затем данный шаг после каждого прохода по массиву уменьшают в два раза до тех пор, пока он не станет равным единице. Пример такой сортировки:

Начальное состояние массива

Фаза 1

(сортируются элементы, расстояние = 4)

Фаза 2

(сортируются элементы, расстояние = 2)

Фаза 3

(сортируются элементы, расстояние = 1)

8 23 5 65 44 33 1 6

8 23 5 65 44 33 1 6

8 23 5 65 44 33 1 6

8 23 1 65 44 33 5 6

8 23 1 6 44 33 5 65

1 23 8 6 44 33 5 65

1 23 8 6 44 33 5 65

1 23 8 6 5 33 44 65

1 23 5 6 8 33 44 65

1 6 5 23 8 33 44 65

1 6 5 23 8 33 44 65

1 6 5 23 8 33 44 65

1 6 5 23 8 33 44 65

1 5 6 23 8 33 44 65

1 5 6 23 8 33 44 65

1 5 6 8 23 33 44 65

1 5 6 8 23 33 44 65

1 5 6 8 23 33 44 65

1 5 6 8 23 33 44 65

Данный алгоритм можно представить следующей блок схемой (рисунок 4).

Рисунок 4