Что делает рекурсию запутанной? Основная причина в том, что мы смотрим на одну и ту же функцию с разными значениями локальных переменных . При анализе рекурсивной функции очень важно убедиться, какие входные данные используются в данный момент. единственное натуральное число. Это наименьший класс частичных функций, включающий исходные функции и замкнутый относительно композиции, примитивной рекурсии и оператора μ. https://en.wikipedia.org › wiki › General_recursive_function
Общая рекурсивная функция - Википедия
Сложно ли научиться рекурсии?
Но есть еще одна очень мощная управляющая структура: рекурсия. Рекурсия - одна из самых важных идей в информатике, но ее обычно считают одной из самых сложных частей программирования для понимания. Книги часто представляют его гораздо позже, чем итерационные структуры управления.
Почему рекурсия не годится?
Плохое. В императивных языках программирования в большинстве случаев следует избегать рекурсивных функций (пожалуйста, не посылайте гневных писем о том, что это не так в 100% случаев). Рекурсивные функции менее эффективны, чем их итерационные аналоги. Кроме того, они подвержены риску переполнения стека.
В чем проблема с рекурсией?
Рекурсияалгоритмический прием, при котором функция для выполнения задачи вызывает сама себя с некоторой частью задачи. Рекурсивная функция вызывает саму себя на более простой версии проблемы, пытаясь упростить ее до такой степени, чтобы ее можно было решить.
Почему рекурсия так эффективна?
С помощью рекурсии вы также получаете дополнительное преимущество, заключающееся в том, что другим программистам будет легче понять ваш код, а это всегда хорошо. Строго говоря, рекурсия и итерация оба одинаково эффективны. Любое рекурсивное решение может быть реализовано как итеративное решение со стеком.