Встречается на собеседованиях • сегодня

В чем разница между рекурсией и итерацией

Рекурсия — это подход, при котором функция вызывает саму себя для решения задачи, пока не достигнет базового случая. Итерация — использование циклов (for, while) для повторения операций.

Ключевые различия:

  • Память: Рекурсия использует стек вызовов, что может привести к StackOverflow при большой глубине. Итерация обычно эффективнее.
  • Читаемость: Рекурсия часто делает код лаконичнее для задач с естественной рекурсивной структурой (например, обход дерева).

Пример (факториал):

python
# Рекурсия
def factorial_rec(n):
    return 1 if n == 0 else n * factorial_rec(n - 1)

# Итерация
def factorial_iter(n):
    result = 1
    for i in range(1, n + 1):
        result *= i
    return result

Выбор:

  • Используй итерацию для производительности и избегания переполнения стека.
  • Рекурсия подходит для задач с ветвящейся логикой (например, DFS в графах).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы