Изменения

Перейти к: навигация, поиск

Быстрая сортировка

1014 байт убрано, 18:31, 13 июня 2016
Улучшения
quicksort(a, 1, j)
quicksort(a, i, r)
 
==Улучшения==
В случае повторяющихся неудачных разбиений опорным элементом, глубина рекурсии может достичь <Tex>O(n)</Tex>, а время работы алгоритма <tex>O(n^2)</tex>. Существуют различные способы разбиения массива, направленные против худшего случая:
* При выборе опорного элемента из данного диапазона случайным образом худший случай становится очень маловероятным и ожидаемое время выполнения алгоритма сортировки — <tex>O(n \log n)</tex>.
* Выбирать опорным элементом средний из трех (первого, среднего и последнего элементов).
* Разбивать массив не на две, а на три части.
==Оптимизация глубины рекурсии до O(logn) в худшем случае==
635
правок

Навигация