В чем разница между рекурсией и итерацией
Python
Middle
Без компании
В чем разница между рекурсией и итерацией
Ответы
Рекурсия — это подход, при котором функция вызывает саму себя для решения задачи, пока не достигнет базового случая. Итерация — использование циклов (`for`, `while`) для повторения операций.
**Ключевые различия:**
- **Память:** Рекурсия использует стек вызовов, что может привести к `StackOverflow` при большой глубине. Итерация обычно эффективнее.
- **Читаемость:** Рекурсия часто делает код лаконичнее для задач с естественной рекурсивной структурой (например, обход дерева).
**Пример (факториал):**
```
# Рекурсия
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 в графах).