Встречается на собеседованиях • сегодня
Какая сложность возникнет при передаче отсортированного массива в QuickSort
В QuickSort передача уже отсортированного массива приводит к худшему случаю — O(n²), так как опорный элемент (pivot) будет крайним (минимальным или максимальным), что вызовет несбалансированное разбиение. Каждая рекурсия обработает подмассив размером n-1, а не n/2.
Решение:
Выбирать pivot случайно или медиану из трёх элементов.
java
int partition(int[] arr, int low, int high) {
// Выбор медианы из первого, среднего и последнего элемента
int mid = low + (high - low) / 2;
int pivot = medianOfThree(arr[low], arr[mid], arr[high]);
// ... остальная логика разбиения
}Такой подход снижает вероятность худшего случая.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы