Ich bin einverstanden mit der Trennung Hauptartikel vs. Wirbeltraversierung. Nein, der Algorithmus iterativePreInPostOrder merkt sich nichts. Er weiß von woher er kommt. Und ob von linken oder rechten Teilbaum, ist eine ganz einfache Abfrage if (N == next->L). Ich habe den Eindruck, dass es sein könnte wie bei Dir (wobei mir die echte Ausführung von wTrav allerdings fehlt). Der Algorithmus geht immer nur vorwärts: Knoten wird als Kind (egal, ob L oder R) absteigend zum ersten Mal betreten. ==> pre-order Hat er ein linkes Kind, dann wird dieses besucht - in der Gewissheit dass wir wiederkommen, dann aber von unten von einem linken Kind. (Das ist die Abfrage if (N == next->L) mit dem Ergebnis TRUE.) Danach folgt die in-order Position, die sofort gekommen wäre, wenn es das linke Kind nicht gibt. ==> in-order Dann wird nach dem rechten Kind gefragt. Gibt es dieses, dann wird es besucht - in der Gewissheit dass wir wiederkommen, dann aber von unten von einem rechten Kind. (Das ist die Abfrage if (N == next->L) mit dem Ergebnis FALSE.) Danach folgt die post-order Position, die sofort gekommen wäre, wenn es das rechte Kind nicht gibt. ==> post-order Wenn Du wTrav mal ausprogrammiert hast, sieht man vllt, dass sich dort genau dasselbe abspielt, – und dass auch Du den cnt nicht wirklich brauchst. Besten Gruß, -- Nomen4Omen 23:02, 11. Mär. 2020 (CET)