Rekursio on kun funktio kutsuu itseään ratkaistakseen pienemmän version samasta ongelmasta. Jokainen rekursio tarvitsee perusehdon (base case), joka pysäyttää sen, ja rekursiivisen ehdon (recursive case), joka etenee kohti perusehtoa.
Ajatus
Jaa ongelma pienempiin identtisiin osaongelmiin. Jokainen kutsu työntää kehyksen kutsupinolle (call stack); palautukset poistavat ne.
Esimerkki
python
():
n <= :
n * factorial(n - )
factorial()
