Rekursion
Recursion
Eine rekursive Funktion ruft sich selbst auf — jeweils mit einem kleineren Problem, bis ein Basisfall ohne weiteren Aufruf lösbar ist (Fakultät, Fibonacci). Die dokumentierte Fehlvorstellung ist das „Schleifenmodell" (Kahney): Der rekursive Aufruf springe zurück an den Anfang. Tatsächlich entsteht pro Aufruf ein eigener Rahmen mit eigenen Parametern auf dem Aufrufstapel, und die Ergebnisse laufen beim Abbau zurück — genau das zeigt ein Aufrufbaum.
Voraussetzungen (2)
Ermöglicht (1)
Was versteht man unter Rekursion in der Informatik?
Jede rekursive Funktion benoetigt mindestens einen Basisfall, um die Rekursion zu beenden.
Der ___ ist die Bedingung in einer rekursiven Funktion, bei der kein weiterer rekursiver Aufruf stattfindet.
Wie lautet die rekursive Definition der Fakultaet n! ?
Berechne rekursiv: 5! (Fakultaet von 5).
Wenn eine rekursive Funktion keinen Basisfall hat, kommt es zu einem ___, weil der Aufrufstapel ueberlaeuft.
Beim Divide-and-Conquer-Prinzip wird ein Problem in kleinere ___ zerlegt, die rekursiv geloest werden.
Welcher Code zeigt indirekte Rekursion?
Ordne die Schritte der rekursiven Berechnung von fib(4) in der richtigen Reihenfolge (Fibonacci):
Jede rekursive Funktion kann auch iterativ (mit Schleifen) formuliert werden.
Wie oft wird die Funktion fib() bei der naiven rekursiven Berechnung von fib(5) insgesamt aufgerufen (inklusive des ersten Aufrufs fib(5))?
Die Technik, bei der Zwischenergebnisse rekursiver Aufrufe gespeichert werden, um Mehrfachberechnungen zu vermeiden, heisst ___.
Welcher der folgenden Algorithmen nutzt typischerweise Rekursion?
Ordne die Phasen des Divide-and-Conquer-Prinzips in die richtige Reihenfolge:
Die Fibonacci-Folge beginnt mit fib(1)=1, fib(2)=1. Berechne fib(7).
Rekursive Algorithmen sind immer effizienter als ihre iterativen Entsprechungen.
Ordne die rekursiven Aufrufe bei der binaeren Suche nach dem Wert 7 im sortierten Array [1,3,5,7,9,11] in der richtigen Reihenfolge:
Was versteht man unter Endrekursion (Tail Recursion)?
Eine rekursive Funktion berechnet die Summe von 1 bis n: summe(n) = n + summe(n-1) mit summe(0) = 0. Wie viele rekursive Aufrufe finden bei summe(8) statt (ohne den initialen Aufruf)?
Die Tuerme von ___ sind ein klassisches Beispiel fuer ein Problem, das elegant mit Rekursion geloest werden kann.