tail-recursion - algorithm - рекурсивные функции - Что такое рекурсия хвоста?

чтобы понять рекурсию, нужно понять рекурсию / algorithm / language-agnostic / functional-programming / recursion

Начав изучать шепелявость, я натолкнулся на термин хвостовая рекурсия . Что именно это означает?

10 revs, 7 users 50%



Answer #1

Обычно в рекурсивном режиме у вас есть базовый случай,который останавливает рекурсивные вызовы и начинает выскакивать из стека вызовов.Для использования классического примера,хотя и более C-образного,чем Lisp,факториальная функция иллюстрирует рекурсию хвоста.Реквентный вызов происходит после проверки базового состояния стека вызовов.

factorial(x, fac=1) {
  if (x == 1)
     return fac;
   else
     return factorial(x-1, x*fac);
}