Не создавать разделы.Опишите, что это за разделы (в постоянном пространстве), и рекурсивно выберите по этому.
Каждый подмассив, в который возвращается быстрый выбор, может быть описан своими границами (минимальные и максимальные значения элементов, а не их индексы).Итерация по подобласти, описанной таким образом, требует O ( n ) сравнений, которые выполняются на каждом уровне рекурсии, до той же глубины, что и в быстрой сортировке: O (log n ) в среднемcase.
Быстрая сортировка также делает O ( n ) сравнений на каждом уровне рекурсии, в то время как обычный перестановочный быстрый выбор делает O ( n ) всего сравнений в среднем случаепотому что он всегда повторяется только в одном разделе).
Вот пример реализации для отдельных элементов с обычной реализацией быстрого выбора для сравнения.