Sobes.tech
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.