Recursie: Recursiviteit is een aanroep aan zichzelf
Een recursieve functie is een functie die zichzelf aanroept.
Voorbeeld van een recursieve functie
def backward(text):
if text == "":
return text
else:
return text[-1] + backward(text[:-1])
(dia 12 t/m 15)
Limiteringen
Python heeft een beperking op de diepte van recursieve calls
Er treedt ook vertraging op bij te diepe calls
Recursiviteit vs iteratie
| Recursie | Looping |
|---|---|
| Minder efficiënt | Efficiënter |
| Veel overhead | Minder overhead |
| Soms veel duidelijkere oplossing | Soms duidelijkere oplossingen |
| Meestal de beste oplossing |
Samenvatting
-
Recursie is in een aantal situaties een goede oplossing (bijvoorbeeld het doorlopen van de datastructuur tree)
-
Meestal zal de iteratieve oplossing sneller en beter zijn