10.3 BinTreeNode

Methode deleteNode

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

10.3 BinTreeNode
Hallo,

ich habe eine Implementation der Methode aber Sie gibt mir einen unerwarteten Fehler obwohl sie nach Logik richtig funktioniert.

Und zwar geht es um den Test in Zeile 555 von BinTreeNodePublicTest:

assertSame("structure wrong after " + METHOD_NAME_deleteNode, rr, n.getRightChild());

rr := HVPvemXfk aber sollte sein LCNCJWVIF

Baum sieht folgendermaßen aus:

       H
   D     J
B    F     L

Jetzt soll H geloescht werden!

Baum sieht bei mir dann so aus:

      J
   D   L
 B  F

Kann jemand diesen Fehler nachproduzieren oder zumindest mal Debuggen was bei Ihm in Zeile 555 getestet wird.
Komme einfach nicht auf den Fehler.

Besten Dank!


Benutzt du denn auch die swap() Methode?
Also tauschst du die Knoten oder die value Referenzen der Knoten aus?
Updatest du auch die parent Referenzen?


Tausche mit Swap die values,
und dann referenziere ich Parent Child um / es würde mir helfen wenn ich wüsste wie euer Baum aussieht bei Zeile 555 im Test.


Also an der Ausgabe (LCNCJWVIF der Rest ist nur ein RandomString) siehst du ja, dass das rechte Kind ein L sein sollte und bei dir ein H ist, was ja aber gelöscht werden sollte, also hast du wohl noch irgendwo einen Fehler beim Referenzen tauschen oder so, der Baum sollte nämlich so aussehn wie du es geschrieben hast.