Notice: file_put_contents(): Write of 17784 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50
Proglib.academy | IT-курсы@proglib_academy P.2837
PROGLIB_ACADEMY Telegram 2837
🔥 Рекурсия на пальцах: когда она нужна и почему ломает голову

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

➡️ Пример 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



tgoop.com/proglib_academy/2837
Create:
Last 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 #буст

BY Proglib.academy | IT-курсы


Share with your friend now:
tgoop.com/proglib_academy/2837

View MORE
Open in Telegram


Telegram News

Date: |

Add up to 50 administrators The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Those being doxxed include outgoing Chief Executive Carrie Lam Cheng Yuet-ngor, Chung and police assistant commissioner Joe Chan Tung, who heads police's cyber security and technology crime bureau. SUCK Channel Telegram In the next window, choose the type of your channel. If you want your channel to be public, you need to develop a link for it. In the screenshot below, it’s ”/catmarketing.” If your selected link is unavailable, you’ll need to suggest another option.
from us


Telegram Proglib.academy | IT-курсы
FROM American