Kap. 6.2 Binäre B-Bäume Ullmann: (2, 3) - Bäume

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
Randomisierte Algorithmen für Verteilungsprobleme
Algorithm Engineering
Eine dynamische Menge, die diese Operationen unterstützt,
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
Prof. Dr. T. Kudraß1 Hash-Verfahren. Prof. Dr. T. Kudraß2 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit.
Mindesthöhe: |_log2 n_|, maximale Höhe: n-1
Das LCA – Problem in Suffixbäumen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
B-Bäume.
7. Natürliche Binärbäume
Gewichtsbalancierte Suchbäume
Durchlaufen eines Binärbaumes
Löschen in B-Bäumen Die B-Baum-Eigenschaft muss wieder hergestellt werden, wenn die Anzahl der Elemente in einem Knoten kleiner als k wird. Durch Ausgleich.
Bäume • Kernidee: Speicherung von Daten in einer Baumstruktur
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
Sortieren mit Binären Bäumen
Sortierverfahren Richard Göbel.
Effizienz: Indexstrukturen
Baumstrukturen Richard Göbel.
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 – Offenes Hashing) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) 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.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Fibonacci-Heaps – Analyse) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
WS03/041 Binomial Queues Prof. Dr. S. Albers Prof.Dr.Th Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – Bruder-Bäume, B-Bäume) Prof. Th. Ottmann.
Seminar parallele Programmierung SS 2003
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
1 Kap. 2 Graphen Kap. 2.1 Netze Beispiele: MVV, Autobahnen, WIN, E/R, LH-Flüge, Stützgraphen, Petri-Netze, SIPs, ISA-Hierarchien, Operator-Graphen, Wartegraphen.
1 Inhaltsverzeichnis 1. Einleitung 1.1 Architektur von IV-Systemen 1.2 Anwendungsbeispiel OMNIS/Myriad 1.3 Vorlesungsziel 1.4 Abbildung E/R und objektorientierte.
Kap.6 Datenstruktur für Peripheriespeicher Kap.6.0 Plattenspeicher
Algorithmen und Komplexität
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Huffman Entropie-Codierung Codierung mit variabler Länge
Kapitel 2: Datenstrukturen
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Effiziente Algorithmen
Animationen zu Kap. 4.3: AVL-Bäume
Splay Trees Von Projdakov Benjamin.
Diskrete Mathematik II
Effiziente Algorithmen
Christian Scheideler Institut für Informatik Universität Paderborn
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Übung Datenbanksysteme II Index- strukturen
Vorlesung Datenbanksysteme vom Physische Datenorganisation
Graphen und Bäume.
Kapitel 6: Suchbäume und weitere Sortierverfahren
Kapitel 6: Suchbäume und weitere Sortierverfahren
 unterschiedliche Min-/Max-Zahlen für Blätter und Nichtblätter.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
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:
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Kap. 12 R-Bäume GB B31 B245 Box 1: Box 2: Box 3: Box 4: Box 5:
 Präsentation transkript:

Kap. 6.2 Binäre B-Bäume Ullmann: (2, 3) - Bäume  (1, h) anpassen für HS ? 3 7 1 5 6 8

darstellen als:  3 7  1 5 6 8 Def: binärer B-Baum ist binärer Baum mit -Kanten u. -Kanten und: i) alle linken Kanten sind  ii) jeder Pfad von Wurzel zu Blatt hat gleichviel -Kanten iii) rechte Kanten können.  oder  sein, aber keine aufeinanderfolgenden.  -Kanten iv) Knoten mit ausgehender -Kante hat zwei Nachfolger

Vergleich mit AVL ? Hilfsinfo: Kantenart bzw. Balanzierung? Lemma: Die Klassen binäre B-Bäume u. AVL-Bäume sind nicht vergleichbar i) ii) bin. B-B AVL

Algorithmen: direkt von B-Baum übernehmen nur Wechsel für Seitendarstellung: x x => 2 Verweise x y => x y 3 Verweise

Symmetrische binäre B-Bäume Unsymmetrie bzgl.  Kanten aufheben,   , , keine aufeinanderfolgenden  -Kanten; bzw. Seite mit 1, 2 oder 3 Indexelementen:

x  x y y x y z z w split oder?

y oder? split x y z z´  x z z´ Lemma: Die symm. binären B-Bäume sind echte Oberklasse der AVL-Bäume. Hinw.: Vergleich der Balancierungs-Kriterien? Verallg.: Erlaube c > 0 aufeinanderfolgende -Kanten

Kap. 6.3 B*-Bäume Standard Zugriffsstruktur in allen heutigen DB-Systemen. Doppelrolle von (x, ): i) Identifikation von (x, ) über x ii) Steuerung der Suche durch x x1 1 x2 2 ... xk k xk+1 k+1 ... x2k+1 2k+1  xk+1 • • x1 1 ... xk k xk+1 k+1 ... x2k+1 2k+1

Spalten von Blatt: übernehme xk+1 in Vater xk+1 redundant gespeichert Spalten von internem Knoten: wie bisher: xk+1 in Vater, ohne Redundanz Eigenschaften, Vorteile von B*-Bäumen: i) (x, ) nur auf Blättern ii) redundante Info in Zwischenknoten nur 1-2 % des gesamten Speichers iii) in Zwischenknoten mehr (x, p) als (x, , p)

 höherer Verzweigungsgrad niedrigerer Baum schnellere Suche u. Manipulation iv) einfacherer Löschalg.: (x, ) auf Blatt! v) Blätter des B*-B ~ sortierte, sequentielle Datei Blatt 1 Blatt 2 ... Blatt n vi) reiner Index Teil = B-Baum von Schlüsseln sequentielle sortierte Datei

Kap. 6.4 Präfix B-Bäume Grundidee: In Index-Teil eines B*-B nur minimale Info, um Suche zu steuern. Spaltung: ... xk+1 ... xk k xk+1 k+1 x < xk+1  y Def.: Separator zwischen xk und xk+1 ist beliebiges s mit xk < s  xk+1

Ziel: möglichst kurze Separatoren im Indexteil, z.B. für Bigbird, Burt, Cookiemonster, Ernie, Snuffleopogus Bu C D, E F,G, ..., S Präfix Eigenschaft: Seien x, y  X+ und < lexikographisch, x < y.  ! kürzester Präfix y von y mit: a) x < y  y b) kein anderer Separator ist kürzer. Def.: Ein einfacher Präfix-B-Baum ist ein B*-Baum, in dem bei Blatt-Split die kürzesten Präfix-Separatoren verwendet werden.

Hinw.: - variabel lange Separatoren in Index - delete darf „kürzeste Separatoren“ verletzen. Spaltintervalle:  : leaves b: branching , b Hinw.: kleine Intervalle, gute Verbesserung Algorithmen: wie B* plus Berechnung des kürzesten Separators

Echte Präfix-B-Bäume: xi pi xi+1  xi = yz1 xi+1 = yz2  w  K(pi): xi  w  xi+1 , d.h. w = yw´  in T (pi) ist y überflüssig, ergibt sich aus Suchpfad weitere Themen: siehe Spezialliteratur u. Vorl. DB-Systeme. - Parallelverarbeitung - Chiffrierung

Beispiel: Anwendung von Präfix B-Bäumen 1. Zeitreihen von Wertpapierkursen: P# Jahr Monat Tag Zeit Kurs zusammenges. Schlüssel (x, ): x = (P#, J, M, T, Z);  = Kurs P# P´# J . 2. Zeitreihen von Meßwerten, z.B. in Energie-Verteilernetz, viele Meßpunkte

3. Komplexe Systeme Marke Typ ccc BMW 700 3000 3500 300 Beobachtung: lange zusammengesetzte Schlüssel haben lange gemeinsame Präfixe ... . .

Kap. 6.5 Erweiterbares Hashing 2d H • Seite mit Infos (x, )

Idee: Splits ähnlich wie bei B-Bäumen: h(x) Hashfunktion; hd(x) : vordere d Bits d = 0 d = 1 H als Baum: p0 p1 • • 1 x1 ... x Einträge mit h1 (x) = 0 h1 (x) = 1 P(po) P(p1) also: (x, ) auf P (po) falls h1 (x) = 0 „ P (p1) „ h1 (x) = 1

Spaltung von P (p1): in P (p1) u. P (p2) mit Verdoppelung von H: p0 p1 p2 p0 p0 p1 p2 als 10 11 00 01 10 11 Spaltung von P (p1) in P (p1) u. P (p3): Schlüsselverteilung von P (p1) entspr. h3 (x) = 100 auf P (p1) 101 “ P (p3)

5. Suche (x, ) auf Datenseite p0 p0 p0 p0 p1 p3 p2 p2 ... 000 001 111 Spaltungen von p0, p2, p1 ? Search x: 1. h (x) 2. Hole H-Seite entspr. hd 3. Verweis aus H-Seite 4. Hole Datenseite 5. Suche (x, ) auf Datenseite

Insert (x, ): 1. Suche u. hole Blatt 2. füge (x, ) ein 3. bei Überlauf spalte 4. ändere H-Seite, bei Einzelverweis: verdopple H !! Delete (x, ): ... Füllung der Datenseiten in H speichern, wegen Konkatenation?

Probleme: 1. Speicherausnutzung: entsprechend hd, keine Mindestgarantie 2. Redundanz der pi in H, Balanzierung? 3. keine Verarbeitung nach < 4. keine Ausgleichstechnik 5. Streufunktion? Vorteil gegenüber B-B: nur 2 Plattenzugriffe