Staartrecursie: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
HooftBot (overleg | bijdragen)
k Rob Hooft - robot Erbij:de
Serassot (overleg | bijdragen)
Geen bewerkingssamenvatting
Regel 1:
Bij een procedure spreekt men over '''staartrecursie''' (Engels: ''tail recursion'') indien de [[recursieve oproep]] de laatste [[instructie]] is.

Elke procedure die aan deze voorwaarde voldoet kan gemakkelijk worden omgevormd tot een niet-recursieve procedure (het omgekeerde is niet waar), met een equivalente [[iteratie]]. Dit kan omdat het niet nodig is om de locale context van de procedure op te slaan (zodat deze zou kunnen worden hersteld bij het terugkeren naar de oproeper). Zelfs het terugkeeradres hoeft niet te worden bijgehouden omdat de procedure toch eindigt na het uitvoeren van de recursieve instructie.
 
[[de:Endrekursion]]