Описание слайда:
2.2 Сортировка методом прочесывания
Алгоритм
Как и в методе Шелла, вначале выбирается последовательность расстояний h=(h1, h2, h3, …,hm), в которой hi>hi+1, например, для массива из 13 элементов, можно выбрать 8, 6, 4, 3, 2, 1.
На первом шаге при h1=8 сравниваются и, в случае необходимости, переставляются местами элементы с номерами j и j+h1, то есть 1-й и 9-й элементы, затем – 2-й и 10-й, 3-й и 11-й, 4-й и 12-й, 5-й и 13-й и т.д. до конца массива, то есть элементы, отстоящие друг от друга на 8 позиций.
На следующем шаге сравниваются и переставляются пары элементов с номерами j и j+h2 : (1, 7), (2, 8), (3, 9), (4, 10), (5,11), (6, 12), (7, 13) и т. д., то есть элементы, отстоящие друг от друга на 6 позиций.
Далее выполняется проход по массиву для элементов, отстоящих друг от друга на 4 позиции, затем на 3 и 2 позиции.
На последнем шаге выполняется стандартная пузырьковая сортировка, которую можно рассматривать как продолжение предыдущего алгоритма для соседних элементов.
Алгоритм сортировки методом прочесывания требует всего два цикла: один для уменьшения размера “прыжков” – расстояний между элементами, второй – для выполнения разновидности пузырьковой сортировки.