Intern
Mi az a rekurzió?
sobes.tech MI
Válasz az MI-től
Olyan függvény, amely saját magát hívja meg.
Alkalmazható olyan problémák megoldására, amelyeket fel lehet osztani azonos szerkezetű alproblémákra, mint az eredeti probléma. Kötelező a kilépési feltétel (alapeset), hogy elkerüljük a végtelen ciklust.
A faktoriális számítás példája:
<?php
function factorial(int $n): int
{
// Alapeset
if ($n <= 1) {
return 1;
}
// Rekurzív hívás
return $n * factorial($n - 1);
}
echo factorial(5); // 120-at ír ki
?>
Előnyök:
- Elegáns és tömör kód bizonyos problémákhoz.
Hátrányok:
- Túlságosan mély rekurzió esetén a verem túlcsordulását okozhatja.
- Potenciálisan kevésbé hatékony, mint az iteratív megoldások ugyanazokra a problémákra a függvényhívások többletköltsége miatt.
Gyakran alkalmazzák fák bejárására, fájlrendszerek kezelésére, kombinatorikus problémák megoldására.