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

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 в графах).