Встречается на 1% собеседований по Python
В чем разница между быстрой и сортировкой слиянием
Сортировка слиянием (Merge Sort)
- Стабильная, гарантированная сложность O(n log n)
- Использует дополнительную память O(n) для временных массивов
- Работает по принципу "разделяй и властвуй": рекурсивно делит массив пополам, затем сливает отсортированные части
Быстрая сортировка (Quick Sort)
- В среднем O(n log n), но в худшем случае O(n²) (например, при неудачном выборе опорного элемента)
- Не требует доп. памяти (in-place), но нестабильная
- Выбирает опорный элемент (pivot), разделяет массив на элементы меньше и больше pivot, рекурсивно сортирует части
Пример быстрой сортировки:
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)Когда что использовать:
- Merge Sort: когда важна стабильность и гарантированное время
- Quick Sort: когда важна экономия памяти и средняя скорость

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