Hierarchie in Array packen

Hi Hp,

Ich habe es (oh wunder) geschafft.. das Verschieben eines Teilbaums in ein neues Kind eines anderen Baums funktioniert... Einzig wenn ich es als neues Kind des Root-Nodes anlegen möchte, stellt es ihn auf...

Dabei entsteht auch das Problem, denn ich habe folgende Kriterien eingeführt:

1. Der Zielknoten darf nicht gleich dem zu verschiebenden Knoten sein
2. Der Zielknoten darf kein Kind n-ter Ebene des zu verschiebenden Knotens sein

Ist eigentlich logisch, aber beim Root-Knoten stellt das ein Problem dar, da ja JEDER Knoten ein Kind n-ter Ebene von Root ist...

Grübel Grübel....
Ciao,
Mike
 
Jeder Knoten ist zwar Kind, Enkel, etc. des Root, aber der Root ist ja das Kind von keinem Knoten und somit ergibt sich eigentlich kein Problem.

Du musst ja nur verhindern, dass Du einen Knoten in seinen eigenen Teilbaum schiebst.

Das tust Du, wenn ich es richtig verstanden habe mit Deiner zweiten Bedingung. Wenn der Rootknoten der Zielknoten ist, ist die 2. Bedinung immer zulässig. Es wiederspricht lediglich der 1. Bedingung, wenn auch der zu verschiebene Knoten der Rootknoten ist. Das ist auch wunderbar, da dieser Knoten ohnehin nicht verchoben werden kann. Wohin auch? Es wäre vollkommen undefiniert, was man seinen Kindern passiert, da Du ihn nur in seinen eigenen Teilbaum schieben könntest.

Deine Bedingungen sind korrekt. wenn Fehler entstehen, habe ich Dein Dilemma entweder nicht verstanden oder Du hast einen Fehler in der Implementierung.

Gruß hpvw
 
Zurück