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.