Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:rekursion:tuerme_hanoi:start [16.05.2023 15:03] – [Analyse] Frank Schiebel | faecher:informatik:oberstufe:algorithmen:rekursion:tuerme_hanoi:start [11.12.2023 15:42] (aktuell) – [Analyse] Marco Kuemmel | ||
---|---|---|---|
Zeile 12: | Zeile 12: | ||
===== Analyse ===== | ===== Analyse ===== | ||
- | Bei genauerer Analyse des Problems, kann man erkennen, dass es rekursiver Natur ist: Beim Umsetzen des Turms mit '' | + | Bei genauerer Analyse des Problems, kann man erkennen, dass es rekursiver Natur ist: Beim Umsetzen des Turms mit '' |
- | Dann kann man die größte Scheibe nach **B** setzen und muss anschließend | + | Dann kann man die größte Scheibe nach **B** setzen und muss anschließend nochmal den '' |
- | zu können. Danach muss der Turm von n-1 Scheiben vom Platz C | + | |
- | wieder auf den Platz B umgesetzt werden. | + | |
{{ : | {{ : | ||
Zeile 31: | Zeile 29: | ||
=== (A2) === | === (A2) === | ||
- | Medelliere | + | Modelliere |
<code java> | <code java> | ||
Zeile 63: | Zeile 61: | ||
=== Hinweise und Hilfestellungen === | === Hinweise und Hilfestellungen === | ||
- | * [[https:// | + | * [[https:// |
- | * Die Türme werden durch Stacks von Integern repräsentiert. Die einzigen benötigten Stack-Methoden sind push (lege ein Element auf den Stack) und pop (entferne das oberste Element vom Stack). | + | * Die Türme werden durch Stacks von Integern repräsentiert. Die einzigen benötigten Stack-Methoden sind '' |
- | * Überlege dir beim Programmieren der Methode init(), durch welche Zahlen du die Scheiben repräsentieren willst. | + | * Überlege dir beim Programmieren der Methode |
- | * Die Methode moveTower() ist der eigentliche Algorithmus, | + | * Die Methode |
- | * Die Methode test() kannst du nutzen, um deine moveTower-Methode zu testen. | + | * Die Methode |
- | * Beachte: Beim Ausgeben eines Stacks (printState) ist das rechte Element des Stacks das oberste! | + | * Beachte: Beim Ausgeben eines Stacks ('' |