- Рекурсивная функция
- Функция, вызывающая сама себя для решения задачи, называется рекурсивной.
- Рекурсия
- Рекурсия — это метод решения задачи, при котором решение сводится к решению аналогичной, но меньшей по размеру задачи.
- Рекурсивный вызов
- Рекурсивный вызов — это вызов функции самой себя в её теле.
- Рекурсивный алгоритм
- Рекурсивный алгоритм — алгоритм, решающий задачу путём разбиения её на подзадачи того же типа.
- Базовый случай рекурсии
- Рекурсивный процесс завершается, когда достигается базовый случай — задача, которую можно решить без дальнейших рекурсивных вызовов.
- Хвостовая рекурсия
- Хвостовая рекурсия — рекурсивный вызов, являющийся последним действием функции.
- Оптимизация хвостовой рекурсии
- Рекурсивный хвостовой вызов оптимизируется компилятором в итерационный процесс для повышения эффективности.
- Эффективный рекурсивный алгоритм
- Рекурсивный алгоритм считается эффективным, если количество рекурсивных вызовов ограничено и не растёт экспоненциально с ростом входных данных.
- Неэффективный рекурсивный алгоритм
- Рекурсивный алгоритм неэффективен, если количество рекурсивных вызовов экспоненциально растёт с ростом входных данных.
- Рекурсивный стек вызовов
- Рекурсивный алгоритм требует дополнительной памяти для хранения промежуточных результатов.
- Глубина рекурсии
- Глубина рекурсии — максимальное количество рекурсивных вызовов, которые могут быть активными одновременно.
- Переполнение стека вызовов
- Рекурсивный алгоритм может привести к переполнению стека вызовов, если глубина рекурсии слишком велика.