Доброго времени суток, читатели, зрители моего канала programmer's notes, любители языка Python. Не забывайте подписываться и писать свои
комментарии к моим статьям и видео.
Сортировка Шелла на языке Python
Сортировка Шелла является улучшением (обобщением) сортировки вставками. Метод сортировки вставками осуществляется с шагом единица. В сортировке Шелла можно взять любой шаг. При этом после каждого прохода длина шага уменьшается. Это происходит пока шаг не станет равным нулю. Тут важно обратить на две вещи:
1. Начальная значение шага. Можно подобрать его оптимальное значение чисто эмпирически. Либо как-то связать его с длиной сортируемого массива. Но последнее это уже работа для математиков.
2. По каком закону уменьшать значение шага. Можно уменьшать на единицу, можно делить пополам, как в программе ниже, можно делать это каким-то другим способом. И опять же можно эмпирически поискать оптимальный механизм.
Ниже представлена программа, реализующая сортировку Шелла
Ну, пока всё. Используем сортировку Шелла. Да, если вам не известен оператор ':=' ('моржовый' оператор) см. здесь.
Предыдущая статья о сортировке...
Следующая статья о сортировке...
Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.