Рекурсия – это подход в программировании, при котором функция вызывает саму себя для решения задачи.
Ключевые особенности рекурсии:
- Базовый случай: Условие выхода из рекурсивных вызовов. Без него рекурсия приведет к бесконечному циклу.
- Рекурсивный случай: Условие, при котором функция делает вызов самой себя с измененными аргументами, приближающимися к базовому случаю.
Преимущества:
- Более элегантное и понятное решение для задач с естественной рекурсивной структурой (например, обход деревьев, вычисление факториала).
Недостатки:
- Может привести к переполнению стека вызовов при глубокой рекурсии.
- Часто менее эффективно по памяти и времени выполнения по сравнению с итеративными решениями.
Пример вычисления факториала:
python