Sobes.tech
Intern

Co je to rekurze?

sobes.tech AI

Odpověď od AI

Funkce, která se volá sama.

Používá se k řešení problémů, které lze rozdělit na podproblémy se stejnou strukturou jako původní problém. Musí být stanovena podmínka ukončení (základní případ), aby nedošlo k nekonečné smyčce.

Příklad výpočtu faktoriálu:

<?php
function factorial(int $n): int
{
    // Základní případ
    if ($n <= 1) {
        return 1;
    }
    // Rekurzivní volání
    return $n * factorial($n - 1);
}

echo factorial(5); // Vypíše 120
?>

Výhody:

  • Elegance a stručnost kódu pro určité problémy.

Nevýhody:

  • Může vést k přetečení zásobníku při příliš hluboké rekurzi.
  • Potenciálně méně efektivní než iterativní řešení pro stejné problémy kvůli režii volání funkcí.

Často se používá pro průchod stromů, souborových systémů, řešení kombinatorických problémů.