Suchbäume.

Slides:



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

Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Mindesthöhe: |_log2 n_|, maximale Höhe: n-1
Claudio Moraga; Gisbert Dittrich
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
Algorithmen und Datenstrukturen
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
7. Natürliche Binärbäume
Gewichtsbalancierte Suchbäume
Durchlaufen eines Binärbaumes
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Balancierte Bäume Effizienz der Wörterbuchoperationen auf Bäumen hängt direkt von der Baumhöhe ab. Baum mit n Knoten: Mindesthöhe: |_log2 n_|, maximale.
Synonyme: Stapel, Keller, LIFO-Liste usw.
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Sortieren mit Binären Bäumen
Sortierverfahren Richard Göbel.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. 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 (18 - Bäume: Durchlaufreihenfolgen, Analyse nat. 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.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (07 - Skiplisten) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – Bruder-Bäume, B-Bäume) Prof. Th. Ottmann.
Informatik II – Kapitel 13
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 9 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 12 Claudio Moraga, Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Diskrete Mathe II Übung IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Ü6 Wendet den Scan-Line Algorithmus auf unten stehende Situation.
IKG - Übung Diskrete Mathe I – Jörg Schmittwilken
Effiziente Suche in Bilddatenbanken
Katja Losemann Chris Schwiegelshohn
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Zeichnen von Bäumen Seminar Graphenzeichnen SS03 von Lina Wolf.
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Animationen zu Kap. 4.3: AVL-Bäume
Splay Trees Von Projdakov Benjamin.
2. Die rekursive Datenstruktur Baum 2
Diskrete Mathematik II
Effiziente Algorithmen
Vorlesung Binärer Suchbaum II-
Graphen und Bäume.
Kapitel 6: Suchbäume und weitere Sortierverfahren
SWE1 / Übung 10 ( ) Rekursion Binärbäume.
Softwareengineering Graphen und Bäume Teil II
Algorithmen und Datenstrukturen 1 SS 2002
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
7.4 Traversieren von Bäumen
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.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Die allgemeine Liste.
Klausur „Diskrete Mathematik II“
AVL-Bäume.
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Laufzeitverhalten beim Sortieren
Löschen im Suchbaum.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
2.4 Durchlaufen von Bäumen
Heapsort-Algorithmus
2. Die rekursive Datenstruktur Baum 2.3 Baum und Kompositum
 Präsentation transkript:

Suchbäume

Binärbäume Miriam Johanna Thorsten Dorothea Karl Ruth Wilhelm Berta Erich Judith Lorenz Noemi Stephan Ute Xaver In einem Binärbaum hat – von der Wurzel ausgehend – jeder Knoten zwei Baumelemente als Nachfolger. Diese Nachfolger sind weitere Knoten oder Abschlüsse (wie bei der Liste). Wenn die Knoten so sortiert sind, dass der linke Nachfolger stets kleiner und der rechte Nachfolger stets größer als der aktuelle Knoten ist, dann sprechen wir von einem geordneten Baum oder einem Suchbaum.

Durchlaufreihenfolgen (1) Berta Dorothea Erich Johanna Judith Karl Lorenz Miriam Noemi Ruth Stephan Thorsten Ute Wilhelm Xaver Wenn man in einem Suchbaum immer zuerst den linken Teilbaum besucht, dann den aktuellen Knoten und schließlich den rechten Teilbaum, dann erhält man die Daten des Baums in aufsteigender Reihenfolge (in order). public void druckeInOrder () { linkerNachfolger.druckeInOrder (); inhalt.druckeAufKonsole (); rechterNachfolger.druckeInOrder (); }

Durchlaufreihenfolgen (2) Miriam Johanna Dorothea Berta Erich Karl Judith Lorenz Thorsten Ruth Noemi Stephan Wilhelm Ute Xaver Wenn man in einem Suchbaum immer zuerst den aktuellen Knoten besucht, dann den linken Teilbaum und schließlich den rechten Teilbaum, dann erhält man die Daten des Baums in Präordnung (pre order). Das macht man zum Beispiel bei einer thematischen Gliederung. public void druckePreOrder () { inhalt.druckeAufKonsole (); linkerNachfolger.druckePreOrder (); rechterNachfolger.druckePreOrder (); }

Durchlaufreihenfolgen (3) Berta Erich Dorothea Judith Lorenz Karl Johanna Noemi Stephan Ruth Ute Xaver Wilhelm Thorsten Miriam Wenn man in einem Suchbaum immer zuerst den linken Teilbaum besucht, dann den rechten Teilbaum und schließlich den aktuellen Knoten, dann erhält man die Daten des Baums in Postordnung (post order). Das tut man beim Rechenbaum, da man erst weiterrechnen kann, wenn man die Zwischenergebnisse kennt. public void druckePostOrder () { linkerNachfolger.druckePostOrder (); rechterNachfolger.druckePostOrder (); inhalt.druckeAufKonsole (); }

Wir suchen mit dem Suchwort "Judith". Suchen im Suchbaum Miriam Miriam Johanna Johanna Thorsten Dorothea Karl Karl Ruth Wilhelm Berta Erich Judith Judith Lorenz Noemi Stephan Ute Xaver Wir suchen mit dem Suchwort "Judith". Wenn das Suchwort kleiner als der Eintrag des aktuellen Knotens ist, verzweigen wir nach links, ansonsten nach rechts, bis wir das Suchwort in einem Eintrag gefunden haben oder Misserfolg melden müssen, weil wir in einem Abschluss gelandet sind.

Einfügen in den Suchbaum Miriam Miriam Johanna Thorsten Thorsten Dorothea Karl Ruth Ruth Wilhelm Berta Erich Judith Lorenz Noemi Noemi Stephan Ute Xaver Paul Wir wollen "Paul" hinzufügen. Dazu durchlaufen wir den Baum zuerst so, als ob wir "Paul" suchen würden. Anschließend fügen wir "Paul" anstelle desjenigen Abschlusses ein, an dem unsere Suche scheitert.

Suchdauer im Beispiel Miriam Miriam Johanna Thorsten Thorsten Dorothea Karl Ruth Wilhelm Wilhelm Berta Erich Judith Lorenz Noemi Stephan Ute Xaver Xaver Wir suchen den alphabetisch letzten Eintrag "Xaver". Im Suchbaum dauert das vier Schritte. Berta Berta Dorothea Dorothea Erich Erich Johanna Johanna Judith Judith Karl Karl Lorenz Lorenz Miriam Miriam Xaver Xaver Wilhelm Wilhelm Ute Ute Thorsten Thorsten Stephan Stephan Ruth Ruth Noemi Noemi In der zugehörigen geordneten Liste hingegen dauert es fünfzehn Schritte.

Zeitdauer in Formeln Wir gehen von n Knoten aus. Der Suchbaum soll balanciert sein, also kleinstmögliche Höhe haben. Einen Knoten im Baum suchen dauert höchstens Einen Knoten in der Liste suchen dauert höchstens Alle Knoten im Baum besuchen dauert höchstens Alle Knoten in der Liste besuchen dauert höchstens O(log n) O(n) O(n log n) Dabei steht O(f(n)) für C f(n) Rechenschritte, wobei C eine Konstante ist. Ein Suchbaum eignet sich, wenn oft nach einzelnen Knoten gesucht wird (wie im Lexikon). Eine Liste eignet sich, wenn oft für alle Knoten etwas zu tun ist (wie beim Rangierzug).

Zahlenwerte n log2 n log n 10 3,322 1 100 6,644 2 1000 9,966 3 10000 13,288 4 100000 16,610 5 1000000 19,932 6 10000000 23,253 7