Tail recursion
Në shqip: Rekursioni në fund
ShpjegimiSQ
Një funksion është „tail recursive“ kur thirrja rekursive është gjëja e fundit që bën. Kompajlerët si GCC me -O2 mund ta kthejnë në cikël, pa rrezik stack overflow. Python-i dhe Java-ja s'e bëjnë.
EnglishEN
A function is “tail recursive” when the recursive call is the last thing it does. Compilers like GCC with -O2 can turn it into a loop, with no stack-overflow risk. Python and Java don't.
Si ta mendosh
Si t'ia kalosh punën tjetrit dhe të largohesh, pa pritur përgjigje.
Lexoje në anglisht
Like handing the job to the next person and leaving, without waiting for an answer.
Shembull kodic
long faktoriali(int n, long acc) {
if (n <= 1) return acc;
return faktoriali(n - 1, acc * n); // thirrja e fundit
}