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ů.