spamsink: (Default)
[personal profile] spamsink
Сегодня впервые прочитал о неизвестном мне ранее алгоритме сортировки smoothsort.
Этот алгоритм, разработанный Дейкстрой в 1981 году - вариант сортировки heapsort, отличающийся тем, что время его работы зависит от степени первоначальной отсортированности массива и плавно меняется от O(n) в лучшем случае до O(n log n) в худшем. Английская Википедия мягко замечает, что он используется редко из-за сложности алгоритма. Русская, впрочем, отмечает сложность в реализации как недостаток самого heapsort, а о smoothsort и не заикается.

Интересующимся предлагается ознакомиться с оригинальным текстом Дейкстры (16 страниц довольно слепого скана) или с HTML-транскрипцией - безотносительно к смысловой части алгоритма занимательно стилем изложения - или с реализациями: этой (С) или этими (C++, Delphi) и попробовать перевести на русский (или английский, FWIW) язык предложение "Trinkles the stretches when the adjacent stretches are already trusty."

Более сложного алгоритма сортировки мне не встречалось.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting
Page generated Mar. 5th, 2026 06:01 pm
Powered by Dreamwidth Studios