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."

Более сложного алгоритма сортировки мне не встречалось.

Date: 2009-01-07 07:54 pm (UTC)
From: [identity profile] http://users.livejournal.com/_windwalker_/
Угу, именно Дейкстра знаменит своей фразой про то, что не native english speaker вряд ли будет настоящим программистом.

Хотя могу и перевирать.
Page generated Mar. 5th, 2026 05:32 am
Powered by Dreamwidth Studios