Rekurze je, když si funkce volá sama, aby vyřešila menší verzi stejného problému. Každá rekurze potřebuje základní případ (base case), který ji zastaví, a rekurzivní případ (recursive case), který se pohybuje směrem k základnímu případu.
Idea
Rozdělte problém na menší identické podproblémy. Každé volání vloží rámec na zásobník volání (call stack); návraty je odstraní.
Příklad
():
n <= :
n * factorial(n - )
factorial()
