Intern
Ce este recursia?
sobes.tech AI
Răspuns de la AI
Recursiunea este procesul prin care o funcție își apelează singură. În programare, o funcție recursivă este o funcție care se apelează direct sau indirect pe sine însăși. Pentru a evita un ciclu infinit, funcția recursivă trebuie să aibă un caz de bază, moment în care își oprește apelurile.
Exemple de utilizare:
- Traversarea structurilor de date (de exemplu, arbori).
- Rezolvarea problemelor care pot fi împărțite în subprobleme mai mici ale aceluiași tip (de exemplu, calculul factorialului).
Exemplu de calcul al factorialului folosind recursia:
def factorial(n):
# Cazul de bază: factorialul lui 0 este 1
if n == 0:
return 1
# Cazul recursiv: factorialul lui n = n * factorialul lui (n-1)
else:
return n * factorial(n - 1)
# Exemplu de utilizare
result = factorial(5)
# rezultat va fi 120
Dezavantaje ale recursiei:
- Poate consuma multă memorie din cauza stivei de apeluri.
- Poate fi mai puțin eficientă comparativ cu soluțiile iterative pentru anumite probleme.
- Poate duce la depășirea stivei în cazul apelurilor recursive profunde.