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.