Сортировка ракушек
-
История и развитие Shellsort
- Shellsort — сортировка, разработанная в 1959 году Джоном фон Нейманом.
- Алгоритм назван в честь своего создателя и был описан в его докторской диссертации.
- Shellsort использует последовательность пробелов для сортировки массива.
-
Сложность и эффективность
- Сложность Shellsort зависит от количества проходов и размера массива.
- Асимптотическая сложность составляет O(N log N) для последовательности пробелов Хиббарда.
- Эксперименты показывают, что Shellsort может выполняться за O(N5/4) времени при использовании последовательности пробелов Хиббарда.
-
Нижние и верхние границы сложности
- Цзян, Ли и Витани доказали нижнюю границу сложности O(pN1+1/p) для p-проходной Shellsort.
- Витани улучшил нижнюю границу для всех p-проходных последовательностей.
- Верхняя граница Янсона-Кнута соответствует нижней границе для последовательности приращений Хиббарда.
-
Применение и оптимизация
- Shellsort используется в некоторых реализациях функции qsort в стандартных библиотеках C для встраиваемых систем.
- Алгоритм может служить подалгоритмом для интроспективной сортировки и предотвращения замедления при глубокой рекурсии.
-
Рекомендации и библиография
- Статья содержит анализ Shellsort и связанных алгоритмов, а также ссылки на внешние ресурсы.