Программирование на Python - 18 - Рекурсия

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

Рекурсия работает в соответствии с принципом "programming by wishful thinking". Другими словами, это является примером декларативного программирования, где необходимо выражать "что я хочу?", а не детализировать "как это сделать?" в случае с циклами. С использованием поддержки хвостовой рекурсии можно написать функцию для вычисления чисел Фибоначчи, которая будет выполняться в итеративном процессе, а не рекурсивном. Например:

def fib_iter(a, b, count):
if count == 0:
return b
else:
return fib_iter(a + b, a, count - 1)

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

alevyts