Вылиток А.А. - Системы программирования - Метод рекурсивного спуска
Чем хвостовая рекурсия отличается от обычной?
На днях сёрфил глобальное пространство в поисках полезных вещей и наткнулся на статью, которая мне показалась в высшей степени замечательной. Такие вещи как рекурсия и продолжения (continuations) далеко не самые простые вещи в программировании, но вместе с ней мы с вами сможем сделать ещё один шаг в их понимании. Материал достаточно объемный, поэтому будет разбит на несколько частей. В этой части немного о рекурсии и TCO (tail-call optimization) Ссылка на источник в конце заметки. Вторая часть Заключительная...
Объяснение рекурсии на примерах
Чтобы понять рекурсию, нужно понять рекурсию Рекурсия - это способ решения задачи, при котором вы решаете отдельные небольшие части задачи, пока не решите её всю целиком. Метод или функция называются рекурсивными, если они могут вызывать сами себя: Обратите внимание на базовый случай и рекурсивный вызов приведенном выше примере, которые и делают данный алгоритм рекурсивным.
В рекурсивных функциях обязательно должен быть базовый случай, внутри которого не совершается рекурсивный вызов.
Лучший способ...