24.11.2013 Aufrufe

Teil 7: Bäume Beispiele (1)

Teil 7: Bäume Beispiele (1)

Teil 7: Bäume Beispiele (1)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Löschen in binären Suchbäumen (1)<br />

Idee<br />

Um einen Schlüssel k zu löschen, wird zunächst nach dem Schlüssel k gesucht.<br />

Es sind dann 4 Fälle zu unterscheiden:<br />

Fall „Nicht vorhanden“:<br />

Schlüssel k kommt nicht vor:<br />

dann ist nichts zu tun.<br />

Fall „Keine Kinder“:<br />

Der Schlüssel kommt in einem Blatt vor (keine Kinder):<br />

dann kann der Knoten einfach entfernt werden.<br />

Fall „Ein Kind“:<br />

Der Knoten mit dem gefundenen Schlüssel hat genau ein Kind:<br />

s. nächste Folie<br />

Fall „Zwei Kinder“:<br />

Der Knoten mit dem gefunden Schlüssel hat zwei Kinder<br />

s. übernächste Folie<br />

O. Bittel; Sept. 2008 Programmiertechnik 2 - <strong>Bäume</strong> 7-25<br />

Löschen in binären Suchbäumen (2)<br />

Fall „Ein Kind“<br />

Der zu löschende Knoten k hat genau ein Kind.<br />

Überbrücke den Knoten k, indem der Elternknoten von k auf Kind von k verzeigert wird<br />

(Bypass) und lösche k.<br />

Beispiel: lösche Knoten mit Schlüssel 4<br />

7<br />

7<br />

7<br />

2<br />

9<br />

2<br />

9<br />

2<br />

9<br />

1<br />

4<br />

1<br />

4<br />

1<br />

3<br />

3<br />

3<br />

Suche 4<br />

Knoten 4 wird<br />

überbrückt (Bypass)<br />

Knoten 4 wird<br />

gelöscht<br />

O. Bittel; Sept. 2008 Programmiertechnik 2 - <strong>Bäume</strong> 7-26

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!