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