Wurzel löschen? < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Aufgabe | Löschen sie den Knoten/Wurzel 4 aus dem gegebenen Baum: Baum |
Ich hab hier eine Beschreibung wie man einen Knoten mit zwei Nachfolgern löscht:
- Für den Fall dass man ein Ersatzknoten suchen muss, nimmt man (je nach Balance des gelöschten Knotens) den linken oder rechten Unterbaum und sucht darin das am weitesten rechts bzw. das links liegende Element im Unterbaum.
In dem oben verlinkten AVL-Baum möchte ich nun den Knoten 4 nach der Beschreibung löschen. Da es ja anscheinend egal ist welchen Unterbaum man nimmt, wähle ich den rechten Unterbaum (weil er mir besser gefällt ) und suche dort das am weitesten links liegende Element.
Da es in diesem Unterbaum kein wirkliches linkes Element gibt, ist wohl der Wert 6 das linkeste Element. Ich ersetze nun die 4 mit der 6 und die 9 rückt an die 6 ran.
Laut meiner Lösung soll aber die 4 mit der 3 ersetzt werden. Also kann es anscheinend doch nicht egal sein, welchen Unterbaum man nimmt, oder? Was ist nun richtig? Wie geht's richtig? Hat jemand vielleicht eine Beschreibung die ich auch verstehe?
Ich danke euch!
Dateianhänge: Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:20 Mi 16.01.2013 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|