\\ Trme von Hanoi, rekursiv und iterativ 18apr91py Dieses Beispiel belegt, wie unverst„ndlich und absurd bisweileniterative Alternativen zu rekursiven Verfahren aussehen, oder kann jemand sagen, welcher Algorithmus hinter der iterativen steckt (es handelt sich eher um einen Zahlenreihenerzeugungs- algorithmus, der zuf„llig gerade dasselbe Ergebnis liefert wie die Trme von Hanoi). Der zweifelhafte Geschwindigkeitsgewinn von 25% rhrt nur von der quick-and-dirty-Ausfhrung der rekursiven Variante und hat nichts mit einem tats„chlichen Zeitvorteil zu tun. \ Towers of Hanoi 18apr91py Variable #rows 8 #rows ! : .move ( t s -- ) . ." -> " . space col #rows @ 8 * = IF cr THEN ; : (Hanoi ( s t h n -- s t h ) recursive ?dup 0= ?exit >r swap ( --> s h t ) r@ 1- (Hanoi dup 3 pick .move rot ( --> h t s ) r> 1- (Hanoi swap rot ( --> s t h ) ; : Hanoi ( n -- ) cr >r 1 2 3 r> (Hanoi 2drop drop ; : ?swap ( t h i -- t h / h t ) BEGIN dup 3 and dup 2 = IF 2drop swap exit THEN 0= WHILE 4/ REPEAT drop ; : Hanoiit ( n -- ) cr >r 2 3 r@ 1 and IF swap THEN 1 1 r> << 1 ?DO 2dup i ?swap .move rot LOOP 2drop drop ;