Echte und endständige Rekursionen
Inhaltsverzeichnis |
Rekursionsarten
Beachte: Die mitunter effizientere endständige Rekursion darf zu keinen Zwängen bei der rekursiven Beschreibung von Problemlösungen führen!
Aufgaben
-
Quadratzahlen
Eine Liste mit n Quadratzahlen soll generiert werden.
- Geben Sie eine echt rekursive Lösung an.
<eval id="4c9be4304065d"> (quadzahlen-rek 10) </eval>
- Implementieren Sie nun eine endständig rekursive Prozedur.
<eval id="4c9be43040742"> (quadzahlen-it 10) </eval>
-
Turm von Hanoi
Vermutlich stammt dieses Spiel von dem französischen Mathematiker Édouard Lucas (* 4. April 1842; † 3. Oktober 1891), bei dem ein Turm aus einzelnen Scheiben von A nach B unter Nutzung des Hilfsplatzes H umgesetzt werden soll. Dabei darf immer nur eine Scheibe so bewegt werden, dass eine kleinere auf einer größeren Scheibe liegt.
Gegeben Sei folgende Implementation:
Hinweis: Testen Sie die Prozedur mit kleinen Argumenten!
<eval id="4c9be43040866"> (hanoi 3) </eval>
- Beschreiben Sie die Spielstrategie (d.h. den Lösungsalgorithmus) verbal.
- Entscheiden Sie, ob eine echt rekursive oder endständig rekursive Prozedur vorliegt.
- Ermitteln Sie, wie viele Bewegungen notwendig sind, um einen Turm mit n Scheiben zu versetzen.



