Baumpfaderstellung aus Liste

Kalito

Erfahrenes Mitglied
Hallo

ich habe eine Liste, die zu jedem Element seine Kinder anzeigt.

Bsp
Pfad sieht von oben nach unten so aus: 4 -> 2 - 1 -> 3
dann sieht meine Liste wie folgt aus:

ParentChild
13
21
23
41
42
43
Das Beispiel ist recht simmpel. Es gibt auch Bäume, bei denen ein Baumelement mehrere Kinder- und/oder Elternelemente besitzt.



Bsp

Pfad hat folgenden Aufbau:

Code:
          7 ->

6 -> 3 -> 2 ->  4

   -> 5 ->1

Wie man sieht, wachsen aus dem Element 6 2 Äste (3,2,4 und 5,1). Die 4 hat 2 Elternelemente (2 und 7)

Die Tabelle dazu würde wie folgt aussehen:

ParentChild
24
32
34
51
61
62
63
64
65
74
Die Ermittling des ersten und des letzten Knoten ist nicht das Problem, aber die Ermittlung der Reihenfolge für die inneren Konten schon. Habt Ihr eventuell einen Ansatz für mich? Ich probiere jetz schon einige Tage daran rum.



Danke und Gruß
Patrick
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

das hier wäre mal eine schnelle Idee von mir:

Du kannst ja die obersten Parents ermitteln, weil sie ja keine Childs sind. Das heißt 6 und 7. Dann schaust du nach den Koten, die nur ein Knoten als Parent haben und genau diese und ordnest diese den zuletzt hinzugefügten Parents zu. Das wiederholt sich jetzt mit zwei Parents. Das heißt du suchst jetzt die Knoten, die zwei Parents haben und als Parent, den/die zuletzt hinzugefügten Knoten.
Das machst du bis du fertig bist und erhöhst dabei immer die Anzahl der Parents.

BTW: Das klingt nach einem rekursiven Algorithmus.

Viele Grüße
Sascha
 
Zurück