Встречается на 1% собеседований по Python
Какая алгоритмическая сложность быстрой сортировки
Быстрая сортировка (QuickSort) в среднем случае имеет сложность O(n log n), где n — количество элементов. Однако в худшем случае (например, при неудачном выборе опорного элемента) сложность может деградировать до O(n²).
Ключевые факторы:
- Опорный элемент: если выбирать его случайно или медиану, вероятность худшего случая снижается.
- Рекурсия: глубина стека вызовов зависит от сбалансированности разбиения.
Пример кода:
python
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2] # опорный элемент (можно выбрать лучше)
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы