Recursie
Recursie is een aanroep aan zichzelf een recursieve functie is een functie die zichzelf aanroept
def backward(text):
if text == "":
return text
else:
return text[-1] + backward(text[:-1])
Fibonacci
Limiteringen
- Python heeft een beperking op de diepte van de recursive calls
- Er treedt ook vertraging op bij te diepe calls
Recursiviteit vs Iteratie
| Recursie | Looping |
|---|---|
| Minder effiecient | Effiecienter |
| Veel overhead | minder overhead |
| soms veel duidelijkere oplossing | soms duidelijkere oplossingen |
| meestal de best oplossing | |
| ![[INF pwp 6 Recursie.pdf#page=19 | page=19]] |
Samenvatting
- Recursie is in een aantal situaties een goede oplossing (bijvoorbeeld het doorlopen van een datastructuur boom)
- Meestal zal de iteratieve oplossing sneller zijn