Рекурсия - это процесс, при котором функция вызывает саму себя. На этой странице вы можете увидеть, как работает рекурсия на примере вычисления факториала и чисел Фибоначчи.
Факториал
deffactorial(n):
if n == 0:
return1else:
return n * factorial(n - 1)
Введите число и нажмите кнопку, чтобы увидеть визуализацию рекурсии.
Числа Фибоначчи
deffibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
Введите число и нажмите кнопку, чтобы увидеть визуализацию рекурсии.
Как работает рекурсия?
Рекурсия состоит из двух основных частей:
Базовый случай - условие, при котором функция прекращает вызывать саму себя и возвращает значение.
Рекурсивный случай - часть функции, в которой она вызывает саму себя с измененными параметрами.
В примере с факториалом:
Базовый случай: если n = 0, возвращаем 1
Рекурсивный случай: возвращаем n * factorial(n-1)
Рекурсия продолжается до тех пор, пока не будет достигнут базовый случай, после чего начинается процесс "раскрутки" рекурсии и возврат результатов.