AVL-Bäume.

Slides:



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

Punkt-in-Polygon-Verfahren III (R/R+-Baum)
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.
Der k-d-Baum Richard Göbel.
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
Mindesthöhe: |_log2 n_|, maximale Höhe: n-1
GIN2 – 2. Vorlesung, SS04 Prof. Dr. Wolfram Conen
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.
Der B-Baum Richard Göbel.
7. Natürliche Binärbäume
Gewichtsbalancierte Suchbäume
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.
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Sortieren mit Binären Bäumen
Effizienz: Indexstrukturen
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Das Maßproblem von Klee
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 19 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) 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.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – Bruder-Bäume, B-Bäume) Prof. Th. Ottmann.
Informatik II – Kapitel 13
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
Diskrete Mathematik I Vorlesung 9b AVL-Baum, Algorithmen.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
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
Petra Mutzel: DAP2, Universität Dortmund SS Rotationen (1) b(5)=2 b(7)=0 b(7)=1 5 ist unbalanciert5, 7, 8 sind balanciert b(5)=0 Rotation nach.
Splay Trees Von Projdakov Benjamin.
2. Die rekursive Datenstruktur Baum 2
Geoinformation II Vorlesung 2 SS 2001 AVL-Bäume.
Diskrete Mathematik II
Effiziente Algorithmen
Übung Datenbanksysteme II Index- strukturen
Vorlesung Binärer Suchbaum II-
Graphen und Bäume.
Kapitel 5: Von Datenstrukturen zu Abstrakten Datentypen
SWE1 / Übung 10 ( ) Rekursion Binärbäume.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung April 2000 AVL-Bäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
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
Raumbezogene Zugriffsverfahren
Diskrete Mathematik I Vorlesung 7 Binärer Suchbaum III.
Binärbäume.
Aufgabe 1. Herausforderungen I Persistente Datenspeicherung: Möchte man jeden Morgen alle Käufe und Verkäufe neu zusammensuchen? Sehr große Datenmengen:
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 2 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS.
Vorlesung April 2000 Polygon Overlay
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Laufzeitverhalten beim Sortieren
Löschen im Suchbaum.
Suchbäume.
Punkt-in-Landkarte II
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

AVL-Bäume

Balancierte Binärbäume 12 3 22 1 10 17 26 7 14 20 Dieser Binärbaum ist balanciert, weil bis zur Tiefe 3 alle nur denkbaren Plätze für Knoten besetzt sind und nur in Tiefe 4 Lücken sind. Ein balancierter Binärbaum ist ideal zum Suchen, weil dort der Suchaufwand wirklich nur O(log n) beträgt. Allerdings ist es aufwendig, den Binärbaum beim Einfügen und Löschen immer balanciert zu halten. Wir brauchen darum andere Konzepte.

Auch im AVL-Baum ist der Suchaufwand höchstens O(log n). AVL-Bäume 12 -1 3 22 -1 1 10 17 26 1 14 Nachdem vier Knoten gelöscht wurden, ist der Binärbaum nicht mehr balanciert, denn auf Tiefe 3 fehlt ein Knoten, obwohl es auf Tiefe 4 einen Knoten gibt. Es liegt aber ein AVL-Baum vor. Denn die Differenz zwischen der Höhe des linken Teilbaums und der Höhe des rechten Teilbaums ist (betragsmäßig) immer höchstens 1. Auch im AVL-Baum ist der Suchaufwand höchstens O(log n).

Rotationen K L I II III L K III II I RotRechts RotLinks Wenn beim Einfügen oder Löschen die AVL-Bedingung verletzt wird, kann man sie mit Hilfe der Rotation nach rechts und der Rotation nach links schnell wiederherstellen. Der Baum bleibt dabei ein Suchbaum, denn: Im Teilbaum I sind stets die Knoten, die kleiner als K sind. Im Teilbaum III sind stets die Knoten, die größer als L sind. Im Teilbaum II sind stets die Knoten zwischen K und L.

Einfügebeispiel (1) 12 3 22 10 17 14 26 2 13 14 17 1 13 In unserem Beispiel fügen wir die 13 in den AVL-Baum ein. Dann ist die AVL-Bedingung bei der 17 verletzt. Dies beheben wir durch eine Rotation nach rechts.

Einfügebeispiel (2) Hier fügen wir die 15 in den AVL-Baum ein. 12 3 22 10 15 17 26 2 14 15 14 17 -1 14 15 Hier fügen wir die 15 in den AVL-Baum ein. Dann ist wieder die AVL-Bedingung bei der 17 verletzt. Allerdings hat hier der Knoten davor eine AVL-Balance mit anderem Vorzeichen. Wir brauchen darum eine Doppelrotation, um die AVL-Bedingung wiederherzustellen: zuerst eine Rotation nach links und dann eine Rotation nach rechts.

Aufwand Sowohl beim Einfügen als auch beim Löschen kann es im schlimmsten Fall passieren, dass wir auf dem gesamten Weg zurück zur Wurzel Rotationen durchführen müssen, um die AVL-Bedingung wiederherzustellen. Der Aufwand für das Einfügen und Löschen beträgt daher im schlimmsten Fall O(log n).