Что такое рекурсия
Рекурсия — это когда функция вызывает сама себя, чтобы решить задачу. Большая задача разбивается на маленькие кусочки, которые решаются по одному, пока не дойдёшь до самого простого случая.
Как работает рекурсия?
У рекурсии всегда есть две важные части:
1. Базовый случай — когда задача становится настолько простой, что её можно решить сразу, без новых вызовов.
2. Рекурсивный случай — когда функция вызывает саму себя, но с более простыми данными.
Максимально простой пример рекурсии на Python
Давайте посчитаем факториал 3 (пишется как
Вот код:
Как это работает шаг за шагом для `factorial(3)`:
1.
2.
3.
4.
5. Теперь идём обратно:
-
-
-
Итог:
#простымисловами #рекурсия
Рекурсия — это когда функция вызывает сама себя, чтобы решить задачу. Большая задача разбивается на маленькие кусочки, которые решаются по одному, пока не дойдёшь до самого простого случая.
Как работает рекурсия?
У рекурсии всегда есть две важные части:
1. Базовый случай — когда задача становится настолько простой, что её можно решить сразу, без новых вызовов.
2. Рекурсивный случай — когда функция вызывает саму себя, но с более простыми данными.
Максимально простой пример рекурсии на Python
Давайте посчитаем факториал 3 (пишется как
3!
) — это 3 * 2 * 1 = 6
.Вот код:
def factorial(n):
if n == 0: # Базовый случай: если n равно 0, возвращаем 1
return 1
else: # Рекурсивный случай: n умножаем на факториал числа поменьше
return n * factorial(n-1)
Как это работает шаг за шагом для `factorial(3)`:
1.
factorial(3)
: 3 * factorial(2)
2.
factorial(2)
: 2 * factorial(1)
3.
factorial(1)
: 1 * factorial(0)
4.
factorial(0)
: возвращает 1 (базовый случай)5. Теперь идём обратно:
-
1 * 1 = 1
-
2 * 1 = 2
-
3 * 2 = 6
Итог:
factorial(3)
= 6.#простымисловами #рекурсия
👍4