Reicht es evtl. sogar, einfach alle Records nach TargetBranchPosition zu sortieren?
Nach Deiner Skizze würde es wohl reichen (wenn man die absoluten Rechts-Werte der Linien betrachtet), aber ob das für alle Varianten gilt, ist natürlich nicht sicher.
Zumindest könntest Du darüber vermutlich die ersten Zweige finden und Dich von dort durchhangeln. Jeden schon genutzten Zweig dann aus der Liste streichen.
Guter Gedanke. Allerdings ist TargetBranchPosition kein absoluter Wert, der über alle Zweige hinweg gilt sondern nur eine relative Angabe für jeden Zweig. Ich müsste mal sehen, ob ich einen solchen absoluten Wert ableiten könnte.
Was ich inzwischen gefunden habe:
https://en.wikipedia.org/wiki/Tree_traversal
https://towardsdatascience.com/4-typ...s-d56328450846
offenbar hat es wieder nur den richtigen Suchbegriff gebraucht ... Post-order traversal for non-binary trees ist die Antwort - jetzt noch eine nachvollziehbare Implementierung finden ... omg ... was für ein Hornissennest
Selbstkorrektur: Tree Traversal ist nicht die Antwort, weil dort die Knoten/Kinder gleichberechtigt sind. Das ist hier aber nicht der Fall, da ich zusätzlich ja noch die Information berücksichtigen muss, an welchem Punkt die Zweige ansetzen und die Reihenfolge stimmen muss. Es sind also die Zweige eines Astes (Childrenn eines Parent) zusätzlich zu sortieren ...