Sobes.tech
Junior — Middle

Selgitage, kuidas töötab funktsiooni enda kutsumise protsess ja millal see võib olla kasulik.

sobes.tech AI

Vastus AI-lt

Funktsiooni enda sees kutsumine nimetatakse rekursiooniks. C#-is tähendab see, et meetod kutsub iseennast, lahendades ülesande jagades selle lihtsamateks alamülesanneteks.

Rekursioon on kasulik, kui ülesanne jaguneb loomulikult sarnasteks alamülesanneteks, näiteks puu läbimine, faktoriaali arvutamine, graafides otsimine.

Näide faktoriaali arvutamisest rekursiooni abil:

int Factorial(int n)
{
    if (n <= 1)
        return 1; // alusjuhtum
    else
        return n * Factorial(n - 1); // rekursiivne kutsumine
}

Oluline on omada alusjuhtumit, et rekursioon lõppeks, vastasel juhul tekib lõpmatu kutsumine ja virna ülevool.

Rekursioon lihtsustab koodi ja muudab selle loetavamaks korduva struktuuriga ülesannete puhul, kuid mõnikord saab seda asendada iteratsiooniga jõudluse parandamiseks.