Explica cum funcționează procesul de apelare a unei funcții în sine și în ce cazuri poate fi util.
sobes.tech AI
Răspuns de la AI
Apelarea unei funcții în interiorul propriei sale definiții se numește recursie. În C#, acest lucru înseamnă că metoda se apelează pe sine pentru a rezolva o sarcină, împărțind-o în sub-sarcini mai simple.
Recursia este utilă atunci când sarcina se împarte în mod natural în sarcini similare, de exemplu, parcurgerea unui copac, calcularea factorialului, căutarea în grafuri.
Exemplu de calcul al factorialului folosind recursia:
int Factorial(int n)
{
if (n <= 1)
return 1; // caz de bază
else
return n * Factorial(n - 1); // apel recursiv
}
Este important să existe un caz de bază pentru ca recursia să se încheie, altfel vor exista apeluri infinite și depășirea stivei.
Recursia simplifică codul și îl face mai ușor de citit pentru sarcini cu structură repetitivă, dar uneori poate fi înlocuită cu iterație pentru a îmbunătăți performanța.