12.01.2014 Aufrufe

2-up - ETH Zürich

2-up - ETH Zürich

2-up - ETH Zürich

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.

Knoten in Suchbäumen löschen<br />

• Aufgabe: Einen Knoten mit einem bestimmten<br />

Schlüsselattribut so aus dem Suchbaum entfernen,<br />

dass der Rest ein Suchbaum bleibt<br />

• Trivial bei Blättern<br />

• Einfach bei Knoten mit<br />

einem einzigen Nachfolger:<br />

diesen Knoten „ausketten“<br />

(Beispiel: Jan oder Kerstin)<br />

Man überlege sich, wieso das „Ausketten“<br />

die Suchbaumeigenschaft invariant lässt<br />

346<br />

Löschen von Knoten mit zwei Nachfolgern<br />

• Ersetze das zu entfernende Element entweder durch<br />

• das grösste Element seines linken Teilbaums<br />

• (im linken Teilbaum ganz nach rechts laufen!)<br />

• oder das kleinste seines rechten Teilbaums<br />

• (im rechten Teilbaum ganz nach links laufen!)<br />

Das Ersatzelement<br />

ist immer entweder<br />

ein Blatt oder ein<br />

Knoten mit einem<br />

einzigen Nachfolger<br />

• Also durch den unmittelbaren Vorgänger<br />

bzw. Nachfolger entsprechend der Ordnung<br />

Beispiele:<br />

-Katja durch Jan<br />

-Katja durch Kerstin<br />

-Eva durch Dirk<br />

- Eva durch Günter<br />

- Stephan durch Stefanie<br />

- Stephan durch Tanja<br />

Man überlege sich wieder,<br />

wieso dies die Suchbaumeigenschaft<br />

invariant lässt<br />

347<br />

146

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!