Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur

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
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.
Der B-Baum Richard Göbel.
B-Bäume.
Kapitel 6: Klassifizierung von Sortiertechniken
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.
Effizienz: Indexstrukturen
Baumstrukturen Richard Göbel.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
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 (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.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Prof. Dr. T. Kudraß1 Baum-Indexverfahren. Prof. Dr. T. Kudraß2 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz.
R-tree, R*-tree und R+-tree
IKG - Übung Diskrete Mathe I – Jörg Schmittwilken
Diskrete Mathematik R (R/R+-Baum).
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Externe Datenstruktur lineare Liste
Datenbanksysteme für FÜ WS 2004/2005 Speicher - 1 Worzyk FH Anhalt Speicherverwaltung Bereitstellen von Speicherplatz bei insert und update Logische Dateneinheiten.
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
Splay Trees Von Projdakov Benjamin.
2. Die rekursive Datenstruktur Baum 2
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
Effiziente Algorithmen
Diskrete Mathematik II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Übung Datenbanksysteme II Index- strukturen
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (1/14)
Graphen und Bäume.
Kapitel 5: Von Datenstrukturen zu Abstrakten Datentypen
Kapitel 6: Suchbäume und weitere Sortierverfahren
SWE1 / Übung 10 ( ) Rekursion Binärbäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Algorithmen und Datenstrukturen 1 SS 2002
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
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 1 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Übungsblatt 2 Erläuterungen Wintersemester 16/17 DBIS.
AVL-Bäume.
Vorlesung AVL-Bäume/Algorithmen-
Suchbäume.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur • Grundtechnik in nahezu allen DB-Systemen • Elemente = Wurzel, Knoten, Blätter, Kanten • Balancierte (ausgeglichene) Bäume = – alle Pfade von Wurzel zu Blättern gleich lang – Jeder Knoten weist gleich viele Indexeinträge auf

B-Baum B steht nicht für Binär-Baum!!!!! Sondern für Balanciert ! Jede Seite außer der Wurzel enthält zwischen m und 2m Daten.

B-Baum - Eigenschaften und Merkmale ❍ Knoten = Speicherblöcke (Seiten) fester Länge ❍ jede Seite kann bis zu 2*n Datensätze (Einträge) aufnehmen ❍ n heißt Ordnung des B-Baumes ❍ jede Seite (außer der Wurzel) enthält stets m Datensätze fester Länge, wobei gilt: n ≤ m ≤ 2*n ❍ jeder Eintrag hat einen Schlüsselteil und einen Datenteil (Datenteil enthält oft nur Zeiger auf den „echten“ Datensatz) ❍ die Datensätze innerhalb einer Seite sind aufsteigend nach Primärschlüssel geordnet ❍ eine Seite ist entweder Blattseite oder sie hat m+1 Nachfolger ❍ alle Blattseiten befinden sich auf derselben Höhe

Suchen nach Schlüssel S: Lese Wurzelseite 2. Suche S in Seite: ❍ gefunden: {gib Datensatz aus; fertig!} ❍ nicht gefunden: 􀁑 Seite ist Blatt: {Schlüssel nicht in Baum; fertig!} 􀁑 Seite ist kein Blatt: ● bestimme kleinstes Ki mit S < Ki: 􀂯 {setze Suche in Block pi fort} ● solches Ki nicht vorhanden: 􀂯 {setze Suche in Block pm+1 fort}

Einfügen von Schlüssel S: Suche S in Baum: ❍ gefunden: {Fehlermeldung; fertig!} ❍ nicht gefunden: {b = Block (Blattseite), in der die Suche nach S abgebrochen wurde} 2. Füge S in b ein: ❍ b hat noch Platz: {Einfügen; fertig!} ❍ b läuft über: (*) 1. Füge S temporär in b ein. 2. „Mittlerer“ Schlüssel in b ist nun Kn+1. 3. Splitte b in blinks (K1 ... Kn) und brechts (Kn+2 ... K2*n). 4. Setze S zu Kn+1. 5. Füge S in Vater von b ein; setze Pointer in Vater von b auf blinks und brechts. Falls Vaterknoten überläuft, setze b := Vaterknoten, dann weiter bei (*). Ggf. wird hierbei ein neuer Wurzelknoten erzeugt (d.h. der B-Baum wächst um eine Stufe).

Löschen von Schlüssel S: Suche S in Baum: ❍ nicht gefunden: {Fehlermeldung; fertig!} ❍ gefunden: {b ist der Block, in dem S gefunden wurde} 2. Lösche S in b: ❍ b ist Blatt: 􀁑 b hat nach Löschung noch mind. n Einträge: {fertig!} 􀁑 b hat weniger als n Einträge: {⇒ Unterlaufbehandlung; fertig!} ❍ b ist kein Blatt: 1. Ersetze S in b durch größtes (kleinstes) Blattelement (⇒ Blatt b') im linken (rechten) Teilbaum von S; 2. Führe ggf. Unterlaufbehandlung für b' durch; fertig!}

❒ Unterlaufbehandlung: {b ist der Unterlauf-Knoten} ❍ b hat einen linken (rechten) Bruder mit genau n Einträgen: {⇒ Zusammenfassen; ggf. Unterlaufbehandlung für Vaterknoten; fertig!} [Anmerkung: Gilt sowohl für Blatt als auch Nicht-Blatt] ❍ sonst: 􀁑 b ist Blatt: {führe „kleine“ Rotation über Vaterknoten nach rechts (links) aus; fertig!} 􀁑 b ist kein Blatt: {führe „große“ Rotation über Vaterknoten mit linkem (rechtem) Bruder-Teilbaum von b aus; fertig!} [Anmerkung: Ausgleich durch Umhängen eines ganzen Teilbaumes]