Die Grundregel lautet: bevor ein Ast berechnet wird, müssen alle Zweige, die zu diesem Ast führen berechnet werden. Der "Stamm" bleibt also immer über und muss zuletzt berechnet werden.
Diese Regel lässt mehrere mögliche Lösungen zu.
Es lässt sich relativ einfach rekursiv lösen.
Insbesondere wenn die Daten in einer Datenbank abgebildet werden.
Ich habe dazu mal den Inhalt aus dem vierte Bild aus dem Eingangspost als Daten erfasst.
T_ZWEIG
T_BAUM
Berechnete Reihenfolge
kompletes
SQL der Datenbank(Firebird)
baum.sql.txt