1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann.

Slides:



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

Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Kap. 13 Sweep-Line Algorithmen Kap Schnittprobleme
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Eine dynamische Menge, die diese Operationen unterstützt,
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
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Mindesthöhe: |_log2 n_|, maximale Höhe: n-1
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Claudio Moraga; Gisbert Dittrich
GIN2 – 2. Vorlesung, SS04 Prof. Dr. Wolfram Conen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 – B-Bäume)
Algorithmen und Datenstrukturen
B-Bäume.
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
Sortierverfahren Richard Göbel.
Suche in Texten: Suffix-Bäume
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Sortieren vorsortierter Daten
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (24 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 19 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Persistente und vergessliche Datenstrukturen) 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 09 - Weitere Sortierverfahren Heapsort-Nachtrag 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.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-3 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 – Dynamische Tabellen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Fibonacci-Heaps – Analyse) Tobias Lauer.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 13 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
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.
WS Algorithmentheorie 15 – Fibonacci-Heaps Tobias Lauer.
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.
Informatik II – Kapitel 13
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Institut für Kartographie und Geoinformation Diskrete Mathematik I Vorlesung Bäume-
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.
Animationen zu Kap. 4.3: AVL-Bäume
Splay Trees Von Projdakov Benjamin.
Diskrete Mathematik II
Effiziente Algorithmen
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Übung Datenbanksysteme II Index- strukturen
1.6 Die Datenstruktur Stapel Ein Stapel (Stack) ist ein Sonderfall einer Liste. Die Elemente werden nach dem Prinzip LIFO (Last In First Out) angefügt.
Vorlesung Binärer Suchbaum II-
Graphen und Bäume.
SWE1 / Übung 10 ( ) Rekursion Binärbäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung April 2000 AVL-Bäume.
Binärer Baum, Binärer Suchbaum I
Binärbäume.
AVL-Bäume.
 Präsentation transkript:

1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann

2 Balanzierte (Blatt-)suchbäume Dictionary: Menge von Schlüsseln, Operations: Suchen, Einfügen, Entfernen Balanzierte (lBlatt-)suchbäume sind eine mögliche Implementation von dictionaries. AVL-trees, symmetric Binary B-Trees, Red-Black-trees, Half-balanced Trees, Weight- balanced Trees, B-Bäume, Bruder-Bäume, …

3 Rotation p q p q x y 3 21 x y 1 32 Rotation

4 Striktes und relaxiertes Balanzieren Striktes Rebalanzieren: Auf jedes Update folgt unmittelbar eine Folge von Rebalazierungs Operationen. Ziel 1: Konstante Umstrukturierungskosten Ziel 2: Erhöhen der Parallelität von Such- und Update-Operationen Relaxiertes Balanzieren: Entkopplung der Rebalanzierungs- von den Update-Operationen, sodass Beide nebenläufig ausführbar werden. Kessels 1983 Larsen 1994, 1997, … Larsen, Fagerberg 1995 Ot/Soisalon-Soininen/Larsen: Acta Informatica 2001

5 Stratifizierte Suchbäume.... ….. … … … … Die Höhe eines Z-stratifizierten Baumes mit N Blättern ist O(log N)

6 Beispiel

7

8 Einfügen Füge neuen Schlüssel ganz unten ein und deponiere einen push-up-request … … …….... ….. x p

9 Iterierte Folge von Einfügungen

10 Beseitigung eines Push-up-requests (1) Push-up-request führt entweder zu einer lokalen strukturellen Änderung mit konstantem Aufwand (Fall 1) oder zu einer Verschiebung des Push-up-requests auf das nächst höhere Niveau ohne Strukturänderung (Fall2) Fall1 [Genug Platz auf nächst-höherer Schicht]

11 Beseitigung eines Push-up-requests (2) Fall2 [Nächste Schicht voll] Schaffe ggfs. neue Schicht an der Spitze

12 Beseitigung mehrerer Push-up-Requests Unterhalb unterster Straßen-Grenze: Von oben nach unten! Sonst beliebig-nebenläufig!

13 Entfernen Deponiere für jede Entfernung einen Lösch-Vermerk. Beseitige Lösch-Vermerke. … … …….... ….. ……

14 Beseitigung eines Löschvermerks Fall 1 [genügend Knoten auf unterster Schicht] Fall 2 [unterste Schicht zu dünn] Deponiere pull-down-request pq q

15 Behandlung eines Pull-down Requests führt entweder zu einer Strukturänderung (mit konstanten Kosten)und Halt, oder (ausschließlich) zu einer rekursiven Verschiebung auf nächste Schicht ohne Strukturänderung Fall 1[Es gibt genügend Knoten auf nächsthöherer Schicht] Wenigstens 3 Links Umstrukturieren und Halt! … p Beseitigung eines Pull-down-requests

16 Beseitigung von Pull-down-requests (1) 1p231p23 1p234p1234 1p p Fall1 [genügend Knoten auf nächster Schicht] Endliche Strukturänderung und Halt!

17 Beseitigung von Pull-down-requests (2) p q q p Fall2 [nicht genügend Knoten auf nächster Schicht] Verschiebe Pull-down-request auf nächst höhere Schicht, ohne strukturelle Änderungen (Beseitige und oberste Schicht, wenn q Wurzel ist.)

18 Deponiere eine Entferne-Marke für jede Delete-Operation Beseitige die Entferne-Marken in beliebiger Reihenfolge, aber so, dass sie sich nicht gegenseitig stören. Folgen von Entferne-Operationen

19 Nebenläufige Updates und Rebalanzierungen … Updates betreffen verschiedene Blätter Einfügen eines Schlüssels x In einem Blatt mit Löschmarke X

20 Zu entfernendes Blatt Nebenläufige Updates und Rebalanzierungen Behandle Einfügungen, Entfernungen,, nebenläufig in beliebiger Reihenfolge Nach dem Prinzip Topmost first und vermeide Überlappungen von Transformationen!

21 Schlussbemerkung (1) Viele mögliche Strategien für die nebenläufige Behandlung von Reduktion und Zusammenfassung von verschiedenen Fällen bei der Beseitigung von Erhöhung der Effizienz durch Zusammenfassung verschiedenen Umstrukturierungen möglich.

22 Schlussbemerkung (2) >=4 Rotation q p r r q p p123 halt! p 12 3