Entfernen Sie die Duplikate aus dem Baum

8

Ich habe die Klasse:

%Vor%

Um einen Knoten in einem Baum darzustellen.

Nun möchte ich die doppelten Knoten aus einem Baum entfernen. Nimm zum Beispiel den Baum:

Hinweis: grün Foo! = lila Foo

Welcher Algorithmus ermöglicht es mir, die Duplikate aus dem Baum zu entfernen, um damit zu enden:

-------------------------------------------

Um festzustellen, dass das grüne Foo nicht gleich (! =) ist, muss ich eine andere Eigenschaft haben, die die Höhe des Knotens oder eine andere Eigenschaft speichert, die es mir ermöglicht, Knoten zu vergleichen . Das ist die Eigenschaft, die ich brauche (CompareId):

%Vor%

Wenn Sie den gleichen Baum erstellen möchten, den ich hier habe, ist der Code:

%Vor%     
Tono Nam 28.08.2012, 14:38
quelle

3 Antworten

2

Bitte überprüfen Sie dies:

%Vor%

Es ist unnötig zu sagen, immer noch. Verwendung:

%Vor%     
Andre Calil 28.08.2012, 15:02
quelle
0
%Vor%

Übergeben Sie einfach die Wurzel an diese rekursive Funktion; Es wird alle Duplikate auf der gleichen Ebene trimmen. Sie müssen keine Vergleichs-ID erstellen.

    
daryal 28.08.2012 15:01
quelle
0
%Vor%     
Tono Nam 28.08.2012 15:25
quelle