Анализ QuickSort с Pivot как последним элементом в массиве - PullRequest
0 голосов
/ 21 мая 2018

Мне было интересно, что такое Big-O этого массива, когда вы используете QuickSort:

6 8 7 5 9 4

4 - это мой элемент Pivot.

Я думал, что это будет Best-Случай со сложностью O(nlogn), но я не уверен на 100%.

1 Ответ

0 голосов
/ 21 мая 2018

Биг-О сложность быстрой сортировки является квадратичной (O(n^2)).это означает, что для каждого возможного ввода он будет работать по крайней мере так быстро (или медленно, если хотите).

Как упоминалось в комментариях, Big-O имеет дело с теоретическим сценарием наихудшего случая, а не с конкретнымвход.Для конкретного ввода вы можете вычислить абсолютное количество шагов.


В дополнение к этому, быстрая сортировка (была?) Довольно популярна не для хорошей производительности Big-O, а для хорошей Обычный случай производительность при умеренных размерах входных данных - хотя существуют алгоритмы, которые работают в O(n log n) (это также теоретический предел - не может быть лучше), они имеют тенденцию быть медленнее при практическом использовании, так как имеют большие константы (т. Е. Асимптотически *1013* лучшая производительность проявлялась только на больших входах).

...