Türme von Hanoi III

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

*Das Problem, n Scheiben vom Stapel a zum Stapel b zu befördern, läßt sich lösen, wenn

*zunächst die obersten n-1 Scheiben von Stapel a zum als Hilfsstapel genutzten Stapel c verlegt werden,
 
*dann die jetzt zuoberst liegende Scheibe auf a nach b verlegt wird und abschließend
 
*wieder n-1 Scheiben vom Hilfsstapel c nach b verlagert werden.
 

*Zu beachten ist dabei, daß die Rollen der drei Stapel (Ausgangs-, Ziel- und Hilfsstapel) ständig wechseln.
 
*Insgesamt werden 2n-1 Züge benötigt. Dies ist minimal.
 
Hanoi.m2
PROCEDURE MoveDisks(n: CARDINAL; from, to, help: Tower);
BEGIN
   IF n > 0 THEN
      MoveDisks(n - 1, from, help, to);
      MoveDisk(from, to);
      MoveDisks(n - 1, help, to, from);
   END;
END MoveDisks;

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 29.06.1999