Löschen im Suchbaum.

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Suchbäume unterstützen alle unten angegebenen Operationen für dynamische Mengen K effizient: Search(K ,k) ---- Suche ein Element x von K mit Schlüssel.
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Informatik II – Kapitel 11
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
„Such-Algorithmen“ Zusammenfassung des Kapitels 11
7. Natürliche Binärbäume
Durchlaufen eines Binärbaumes
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Binäre Bäume Richard Göbel.
Sortieren mit Binären Bäumen
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - Balancierte Bäume, AVL-Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Operationen auf verketteten Listen
Diskrete Mathe II Übung IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Ü6 Wendet den Scan-Line Algorithmus auf unten stehende Situation.
Diskrete Mathematik I Vorlesung 6 Binärer Suchbaum II.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Vorbereitung: struct SX { int x; struct SX *p; } *px, *ph; px: Zeiger auf Listen- anfang ph: Hilfszeiger px = NULL; px zeigt auf leere Liste px.
Listen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang
Einfügen am Ende der Liste Vorher: Nachher:. Einfügen am Ende der Liste //Klasse Knoten public Knoten hintenEinfuegen(Datenelement dneu) { nachfolger.
Die Methode public Knoten einfuegenVor (Datenelement dNeu, Datenelement dVergleich) public Knoten einfuegenVor(Datenelement dNeu, Datenelement dVergleich){
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Kapitel 2: Datenstrukturen
Struktogramme IF-ELSE FOR – Schleife
FH-Hof Sortieren mit Binären Bäumen Richard Göbel.
Einfach verkettete Listen (OOP)
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Die Methode public Datenelement getEnde (Datenelement d) Ziel: //Klasse Knoten public Datenelement getEnde(Datenelement d){ return nachfolger.getEnde(inhalt);
Vorlesung Binärer Suchbaum II-
Graphen und Bäume.
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Kapitel 6: Suchbäume und weitere Sortierverfahren
SWE1 / Übung 10 ( ) Rekursion Binärbäume.
Dateien und Ordner verwalten
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Software Development Principles Stefan Lieser Web:
Algorithmen und Datenstrukturen 1 SS 2002
Binärer Suchbaum IV AVL-Baum I
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Binärer Suchbaum III- -AVL-Baum-
Binärer Baum, Binärer Suchbaum I
Institut für Kartographie und Geoinformation Diskrete Mathematik I Vorlesung Binärer Suchbaum I-
Diskrete Mathematik I Vorlesung 7 Binärer Suchbaum III.
Binärbäume.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Die allgemeine Liste.
Klausur „Diskrete Mathematik II“
AVL-Bäume.
Zwei Denkansätze zur Klasse Schlange
Vorgehensweise zur Anpassung der Präsentationsvorlage:
Der Abschluss einer Schlange
Suchbäume.
Allgemeine Befehle für die allgemeine Liste
1. Die rekursive Datenstruktur Liste 1
Kara: act()-Methode.
Heapsort-Algorithmus
2. Die rekursive Datenstruktur Baum 2.3 Baum und Kompositum
 Präsentation transkript:

Löschen im Suchbaum

Der rechte Teilbaum ist leer 25 14 14 3 19 A 3 A 19 8 15 A A 8 15 A A A A A A A A A Wir wollen die 25 löschen. Dazu entfernen wir die 25 und ihren leeren rechten Teilbaum. Anschließend verschieben wir den ursprünglichen linken Teilbaum an die Stelle der 25.

Der linke Teilbaum ist leer 42 25 35 A 42 66 28 A 57 35 66 71 A A 28 A A A 57 A 71 A A A A A A A Wir wollen die 25 löschen. Dazu entfernen wir die 25 und ihren leeren linken Teilbaum. Anschließend verschieben wir den ursprünglichen rechten Teilbaum an die Stelle der 25.

Beide Teilbäume sind nicht leer 19 25 14 42 3 19 15 19 35 66 A 8 15 A A A 28 A 57 71 A A A A A A A A A A Wir wollen die 25 löschen. Dazu suchen wir das Maximum im linken Teilbaum. Wir ersetzen die 25 durch dieses Maximum. Das Maximum wird nun aus dem linken Teilbaum gelöscht. Der ursprüngliche linke Teilbaum des Maximums rückt auf.

Die Methode gibMaximum () public Eintrag gibMaximum () { if (rechterNachfolger instanceof Abschluss) return inhalt; } else return rechterNachfolger.gibMaximum (); Wenn mein rechter Nachfolger ein Abschluss ist, dann ist mein Inhalt maximal in meinem Teilbaum. Andernfalls befindet sich der maximale Inhalt im Teilbaum meines rechten Nachfolgers.

Die Methode loescheMaximum () public Baumelement loescheMaximum () { if (rechterNachfolger instanceof Abschluss) return linkerNachfolger; } else rechterNachfolger = rechterNachfolger.loescheMaximum (); return this; Wenn mein rechter Nachfolger ein Abschluss ist, dann ist mein Inhalt maximal in meinem Teilbaum. Ich lösche mich, indem ich meinen linken Nachfolger an meine Stelle aufrücken lasse. Andernfalls befindet sich der zu löschende maximale Inhalt im Teilbaum meines rechten Nachfolgers.

Auszug der Methode loesche (), Teil 1 if (inhalt.vergleicheMit (suchwort) == 0) { inhalt.macheUnsichtbar (); if (linkerNachfolger instanceof Abschluss) rechterNachfolger.zeichneNeu (baumposition); return rechterNachfolger; } else if (rechterNachfolger instanceof Abschluss) linkerNachfolger.zeichneNeu (baumposition); return linkerNachfolger; Wenn mein linker Nachfolger ein Abschluss ist, dann lösche ich mich, indem ich meinen rechten Nachfolger an meine Stelle aufrücken lasse. Außerdem zeichne ich den Teilbaum meines rechten Nachfolgers an meine ursprünglichen Baumposition. Analog handle ich, wenn mein rechter Nachfolger ein Abschluss ist.

Auszug der Methode loesche (), Teil 2 else // d. h., wenn beide Teilbäume nicht leer sind. { inhalt = linkerNachfolger.gibMaximum (); linkerNachfolger = linkerNachfolger.loescheMaximum (); zeichneNeu (baumposition); return this; } Wenn beide Teilbäume nicht leer sind, ersetze ich meinen Inhalt durch das Maximum in meinem linken Teilbaum. Danach lösche ich dieses Maximum aus meinem linken Teilbaum und zeichne den Teilbaum ab mir neu.