Anatomie einer guten Rekursion
Drei Bestandteile:
- Basisfall: kleinste Eingabe, deren Antwort direkt bekannt ist.
- Rekursionsfall: reduziere das Problem auf eine kleinere Version.
- Annäherung an Basisfall: jede Rekursion bringt dich näher an den Basisfall.
Mehrere Basisfälle erlaubt:
function fib(n) {
if (n === 0) return 0;
if (n === 1) return 1;
return fib(n - 1) + fib(n - 2);
}Lineare vs. Verzweigte Rekursion:
- Linear: ein einziger rekursiver Call (factorial).
- Verzweigt: mehrere Aufrufe (fibonacci, Tree‑Traversal).
- Verzweigt → schnell exponentiell teuer ohne Memoization.
Zurück zu Informatik