Junior — Middle
Тавзеҳ диҳед, ки чӣ гуна раванди даъвати функсия дар худ ва дар кадом ҳолатҳо метавонад муфид бошад.
sobes.tech AI
Ҷавоб аз AI
Давом функсия дар дохили худи худ ба номи рекурсия маълум аст. Дар C# ин маъно дорад, ки метод худро даъват мекунад, то вазифаро ҳал кунад, онро ба вазифаҳои хурдтар тақсим мекунад.
Рекурсия дар он вақтҳо муфид аст, ки вазифа табиатан ба вазифаҳои монанд тақсим мешавад, масалан, гузариш дар дарахт, ҳисоб кардани факториал, ҷустуҷӯ дар графҳо.
Масали ҳисоб кардани факториал бо истифода аз рекурсия:
int Factorial(int n)
{
if (n <= 1)
return 1; // ҳолати асосӣ
else
return n * Factorial(n - 1); // даъвати рекурсивӣ
}
Муҳим аст, ки ҳолати асосӣ дошта бошад, то рекурсия ба охир расад, вагарна даъватҳои беохир ва пуршавии стек рӯй медиҳанд.
Рекурсия кодиҳоро содда мекунад ва онро барои вазифаҳои бо сохтори такроршаванда бештар хонданӣ мекунад, аммо баъзан онро бо итеритсия иваз кардан мумкин аст барои беҳтар кардани иҷроиш.