Sobes.tech
Intern

Čo je to rekurzia?

sobes.tech AI

Odpoveď od AI

Funkcia, ktorá sa volá sama.

Používa sa na riešenie problémov, ktoré je možné rozdeliť na podproblémy so rovnakou štruktúrou ako pôvodný problém. Musí existovať podmienka ukončenia (základný prípad), aby sa predišlo nekonečnej slučke.

Príklad výpočtu faktoriálu:

<?php
function factorial(int $n): int
{
    // Základný prípad
    if ($n <= 1) {
        return 1;
    }
    // Rekurzívne volanie
    return $n * factorial($n - 1);
}

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

Výhody:

  • Elegancia a stručnosť kódu pre určité problémy.

Nevýhody:

  • Môže viesť k pretečeniu zásobníka pri veľmi hlbokých úrovniach rekurzie.
  • Potenciálne menej efektívne ako iteratívne riešenia pre rovnaké problémy kvôli režii volaní funkcií.

Často sa používa na prechádzanie stromov, systémov súborov, riešenie kombinatorických problémov.