Back to questions
Junior — Middle
78
Для чего используется рекурсия в программировании?
Answer from AI
sobes.tech AI
Рекурсия в программировании — это метод решения задачи, когда функция вызывает сама себя для решения подзадач, пока не достигнет базового случая, который останавливает дальнейшие вызовы.
Рекурсия полезна для задач, которые естественно разбиваются на похожие подзадачи, например:
- Обход деревьев и графов
- Вычисление факториала
- Поиск в глубину
- Решение задач на разбиение или комбинаторику
Пример вычисления факториала с помощью рекурсии на Python:
def factorial(n):
if n == 0:
return 1 # базовый случай
else:
return n * factorial(n - 1) # рекурсивный вызов
print(factorial(5)) # Выведет 120
Важно, чтобы рекурсивная функция имела базовый случай, иначе она вызовет бесконечные вызовы и приведёт к ошибке переполнения стека.