Forum: Algorithmen, Datenstrukturen und Klassendesign
by Zacherl,
3. Jan 2013
Da hast du glaube ich nicht ganz richtig gelesen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Zacherl,
2. Jan 2013
http://de.wikipedia.org/wiki/Bin%C3%A4rbaum#L.C3.B6schen
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Zacherl,
22. Dez 2012
Dann nochmal ein Paar Fragen, um Klarheit zu bekommen:
1) Enthält deine TSuchbaum Klasse eine Funktion getRoot() / getParent() bzw. irgendeine Funktion, die dir die übergeordnete Node zurückgibt?
2) Willst du wirklich nur einen Knoten entfernen und die Elemente, die sich darunterbefinden beibehalten oder sollen die Unterknoten der entfernten Node auch zerstört werden?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Zacherl,
21. Dez 2012
Da bin ich mir nämlich nicht so sicher, wie ich die Aufgabe verstehen darf :D
@Fehlersucher:
Deinem Code oben entnehme ich, dass du ZWISCHEN entfernen willst. Da du ZWISCHEN mit Suchbaum.getLinken() ermittelst, ist Suchbaum selbst folglich die Root Node von ZWISCHEN. In diesem Falle setzt du einfach Suchbaum.left auf nil und zerstörst den vorher ermittelten ZWISCHEN.
Hierbei nochmal der...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Zacherl,
19. Dez 2012
Im Prinzip ist das Vorgehen ja folgendes:
1) Root Node des Knotens ermitteln
2) Betreffenden Knoten unlinken, indem das entsprechende Left oder Right Feld nil gesetzt wird
3) Je nach Aufgabenstellung die Korrektheit des binären Suchbaums wiederherstellen
Hierdurch entfernst du den Knoten und alle darunterliegenden SubNodes.