Junior — Middle
Funksiyanı özündə çağırma prosesinin necə işlədiyini və hansı hallarda faydalı ola biləcəyini izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Fonsiyanın öz daxilində çağırılması rekursiya adlanır. C#-da bu, metodun özünü çağırması və vəzifəni daha sadə alt vəzifələrə bölməsi deməkdir.
Rekursiya, vəzifə təbii olaraq oxşar alt vəzifələrə bölündükdə faydalıdır, məsələn, ağacı gəzmək, faktorial hesablaması, qraflarda axtarış.
Rekursiya ilə faktorialın hesablanması nümunəsi:
int Factorial(int n)
{
if (n <= 1)
return 1; // əsas hal
else
return n * Factorial(n - 1); // rekursiv çağırış
}
Rekursiyanın sona çatması üçün əsas halın olması vacibdir, əks halda sonsuz çağırışlar və yığın daşması baş verər.
Rekursiya kodu sadələşdirir və təkrarlanan struktura malik vəzifələr üçün onu daha oxunaqlı edir, lakin bəzən performansı artırmaq üçün iterasiya ilə əvəz oluna bilər.