Junior — Middle
Vysvetlite, ako funguje proces volania funkcie sama v sebe a v akých prípadoch to môže byť užitočné.
sobes.tech AI
Odpoveď od AI
Volanie funkcie v jej vlastnej štruktúre sa nazýva rekurzia. V C# to znamená, že metóda volá sama seba, aby vyriešila úlohu rozdelením na jednoduchšie podúlohy.
Rekurzia je užitočná, keď sa úloha prirodzene rozdeľuje na podobné podúlohy, napríklad prechádzanie stromom, výpočet faktoriálu, vyhľadávanie v grafoch.
Príklad výpočtu faktoriálu pomocou rekurzie:
int Factorial(int n)
{
if (n <= 1)
return 1; // základný prípad
else
return n * Factorial(n - 1); // rekurzívne volanie
}
Je dôležité mať základný prípad, aby rekurzia skončila, inak dôjde k nekonečným volaniam a pretečeniu zásobníka.
Rekurzia zjednodušuje kód a robí ho čitateľnejším pre úlohy s opakujúcou sa štruktúrou, ale niekedy ju možno nahradiť iteráciou na zvýšenie výkonu.