Sobes.tech
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.