Алгоритмы сортировки
Jan. 6th, 2009 10:40 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Народ развлекается забавной задачкой про stl и quicksort.
Заглянув в исходники stl, я понял, что называть это "обычным quicksort" это какое-то явное издевательство.
И еще оказалось, что обычный quicksort из дельфи работает раза в два медленнее чем этот хитрый std::sort, хотя я думаю, кроме всех оптимизаций, там еще косвенный вызов функции сравнения в дельфи свою лепту вносит.
Заглянув в исходники stl, я понял, что называть это "обычным quicksort" это какое-то явное издевательство.
И еще оказалось, что обычный quicksort из дельфи работает раза в два медленнее чем этот хитрый std::sort, хотя я думаю, кроме всех оптимизаций, там еще косвенный вызов функции сравнения в дельфи свою лепту вносит.
no subject
Date: 2009-01-06 09:51 pm (UTC)no subject
Date: 2009-01-06 10:19 pm (UTC)no subject
Date: 2009-01-06 10:47 pm (UTC)no subject
Date: 2009-01-09 05:29 pm (UTC)Complexity: Approximately N log N (where N == last - first) comparisons on the average
написано.
no subject
Date: 2009-01-06 10:57 pm (UTC)no subject
Date: 2009-01-07 07:27 am (UTC)1. Инлайнинг функции сравнения
2. Сортировка коротких последовательностей с помощью вставок.
Остальное мелкие оптимизации - типа немного разных алгоритмов для граничных и внутренних подпоследовательностей.
Кроме 1-го всё можно без труда повторить на дельфе для конкретного типа.