Другие языки программирования и технологии

Теоретический вопрос: "Условие окончания рекурсивного алгоритма". Подскажите пожалуйсто!

смотря с чем ты работаешь в рекурсии.
с числами например, то обычно 1 или 0. можно еще с символами.
самые распостранненые примеры - это факториал и фибоначчи. Но конечно же рекурсией можно сделать монго чего. Один из самых распостраненных рекурсивных языков - это LISP. Просто посмотри какой пример как это делается.
Но вообще говорят: чтобы понять рекурсию, надо понимать рекурсию. :)

вот пример:

function factorial(n)
if (n == 0) then
return 1
else
return n * factorial(n - 1)
end
end

тоесть у тебя в начале функция раскрывается до тех пор, пока n не станет равным нулю. и в тот момент, когда она дойдет до конца, в эти все твои n подставится твое значение и по обратной, справа налево, функция начнет высчитывать твой элемент.

ох, сложно описать рекурсию ))
Луговской Конный Завод
Луговской Конный Завод
696
Лучший ответ
рекурсия бесконечна
значит ее нужно ограничить правилом по времени, или числу повторений
Иван Гагауз
Иван Гагауз
48 776
теоретический ответ : условием окончания рекурсивного алгоритма является начальное значение математической индукции, построенной в замкнутом поле данных.

edit: lol @ рекурсия бесконечна

int factorial (int n)
{
if (n <= 1)
return 1;
else
return n * factorial(n-1);
}

в данном случае рекурсия математически конечна, не будем приводить рекурсивные функции обхода бинарных деревьев или еще похлеще - графов, но условием окончания практически всегда является значение "конца данных" и никогда - число повторений или тем более время.