O (n²) является правильным.
При первом проходе в качестве точки поворота будет выбран самый правый элемент k
, который разделит остальную часть массива на [1, ..., k-1]
слева и [k+1, ..., n]
справа. Поскольку оба этих подмассива расположены в отсортированном порядке, они имеют форму, в которой быстрая сортировка выбирает крайний правый элемент, поскольку ось сводится к квадратичному c разу.
Поэтому для сортировки левой части раздела потребуется O (k²) время, и сортировка правой стороны займет O ((nk) ²) время. Поскольку у нас есть n/2 < k <= n
, у нас также есть O (k²) = O (n²).