Sobes.tech
Intern

Mi az a rekurzió?

sobes.tech MI

Válasz az MI-től

A rekurzió az a folyamat, amikor egy függvény saját magát hívja meg. Programozásban a rekurzív függvény olyan függvény, amely közvetlenül vagy közvetve hívja meg önmagát. Az örök körforgás elkerülése érdekében a rekurzív függvénynek rendelkeznie kell egy alap esettel (base case), amelynél abbahagyja saját magának a hívását.

Használati példák:

  • Adatszerkezetek bejárása (pl. fák).
  • Olyan problémák megoldása, amelyeket kisebb, ugyanilyen típusú feladatokra lehet bontani (pl. faktoriális számítása).

Rekurzióval történő faktoriális számítás példája:

def factorial(n):
  # Alapeset: 0 faktoriális értéke 1
  if n == 0:
    return 1
  # Rekurzív eset: n faktoriális = n * (n-1) faktoriális
  else:
    return n * factorial(n - 1)

# Használati példa
result = factorial(5)
# az eredmény 120 lesz

A rekurzió hátrányai:

  • Sok memóriát igényelhet a hívási verem miatt.
  • Egyes problémák esetén kevésbé lehet hatékony, mint az iteratív megoldások.
  • Mély rekurzív hívások esetén verem túlcsorduláshoz vezethet.