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

RecursieLooping
Minder efficiëntEfficiënter
Veel overheadMinder overhead
Soms veel duidelijkere oplossingSoms 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