Inhoudsopgave:
Definitie - Wat betekent Recursive Loop?
Er wordt gezegd dat een recursieve lus is opgetreden wanneer een functie, module of entiteit herhaaldelijk naar zichzelf blijft bellen, waardoor een bijna nooit eindigende lus wordt gevormd. Recursieve constructies worden in verschillende algoritmen gebruikt, zoals het algoritme dat wordt gebruikt voor het oplossen van het Tower of Hanoi-probleem. De meeste programmeertalen implementeren recursie door een functie zichzelf te laten oproepen.
Recursieve lussen worden ook eenvoudigweg recursie genoemd.
Techopedia legt Recursive Loop uit
Een recursieve lus is een speciaal type lusconstructie waarbij een bepaalde entiteit zichzelf probeert aan te roepen vanuit de luscode. Aldus blijft de entiteit zichzelf roepen totdat een specifieke voorwaarde of pauze is gespecificeerd. Recursieve lussen worden meestal geïmplementeerd met behulp van een recursieve functieaanroep waarbij een aanroep naar een bepaalde functie binnen de functiedefinitie zelf wordt geplaatst.
De programmeertalen die recursieve lussen kunnen implementeren, kunnen de problemen oplossen die het gebruik van iteratieve structuren zoals "while" en "for" vereisen door alleen recursieve lussen te gebruiken. Zo kunnen recursieve lussen de traditionele lusconstructies vervangen en zijn ze soms handig bij het maken van minder omvangrijke code. Het vereenvoudigt ook de code en helpt bij het splitsen van complexe codes in eenvoudige verklaringen.
Enkele van de meest voorkomende probleemtoepassingen van recursieve functies zijn de Tower of Hanoi, berekening voor series voor e = 1/0! +1/1! + 1/2 + …, berekening van gcd, faculteit enzovoort.
Recursie wordt ook gebruikt in gevallen waarin het programmeerapparaat niet zeker is van de exacte gegevensgrootte.
Recursie in informatica kan worden onderverdeeld in de volgende typen:
- Enkele recursie
- Meerdere recursie
- Indirecte recursie
- Anonieme recursie
- Structurele recursie
- Generatieve recursie
Het gebruik van recursieve lussen kan de prestaties van het programma beïnvloeden. Recursieve lussen maken gebruik van geheugenstapels en wanneer de stapels vol zijn, kan de lus worden beëindigd vóór de beoogde beëindigingstijd.
