TG Telegram Group & Channel
Proglib.academy | IT-курсы | United States America (US)
Create: Update:

🔥 Рекурсия на пальцах: когда она нужна и почему ломает голову

Рекурсия — это когда функция вызывает саму себя. Просто? Нет. Поломало голову? Точно. Давайте на примерах.

➡️ Пример 1: факториал

Идеально для старта. Формула: n! = n * (n-1)!

def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)


➡️ Пример 2: обход дерева

Без рекурсии — неудобно.

def traverse(node):
if node is None:
return
print(node.value)
traverse(node.left)
traverse(node.right)


Зачем вообще рекурсия:
— Отлично работает там, где есть вложенные структуры: деревья, графы, матрёшки.
— Позволяет писать компактный и красивый код (иногда даже читаемый).
— Но: жрет стек, может улететь в бесконечность и требует аккуратного базового случая (if для выхода).

Рекурсия — мощный инструмент, если понимать где и как её приручать.

🔵 Чтобы знать об алгоритмах все, забирайте наш курс «Алгоритмы и структуры данных»

Proglib Academy #буст

🔥 Рекурсия на пальцах: когда она нужна и почему ломает голову

Рекурсия — это когда функция вызывает саму себя. Просто? Нет. Поломало голову? Точно. Давайте на примерах.

➡️ Пример 1: факториал

Идеально для старта. Формула: n! = n * (n-1)!

def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)


➡️ Пример 2: обход дерева

Без рекурсии — неудобно.

def traverse(node):
if node is None:
return
print(node.value)
traverse(node.left)
traverse(node.right)


Зачем вообще рекурсия:
— Отлично работает там, где есть вложенные структуры: деревья, графы, матрёшки.
— Позволяет писать компактный и красивый код (иногда даже читаемый).
— Но: жрет стек, может улететь в бесконечность и требует аккуратного базового случая (if для выхода).

Рекурсия — мощный инструмент, если понимать где и как её приручать.

🔵 Чтобы знать об алгоритмах все, забирайте наш курс «Алгоритмы и структуры данных»

Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1


>>Click here to continue<<

Proglib.academy | IT-курсы




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)