C

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
}

Terma të lidhur