1 vorlesung informatik 2 algorithmen und datenstrukturen (23 –relaxiertes balanzieren) prof. th....
TRANSCRIPT
![Page 1: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/1.jpg)
1
Vorlesung Informatik 2
Algorithmen und Datenstrukturen
(23 –Relaxiertes Balanzieren)
Prof. Th. Ottmann
![Page 2: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/2.jpg)
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, …
10
6 15
2 9 11 23
5 7 20 30
6 7 9
10 11 15
5
2
20 23
![Page 3: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/3.jpg)
3
Rotationp
qp
q
10
6 15
2 9 11 23
5 7 20 30
6 7 9
10 11 15
5
2
20 23
x
y
3
21
x
y
1
32
Rotation
![Page 4: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/4.jpg)
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
![Page 5: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/5.jpg)
5
Stratifizierte Suchbäume
....
…..
… …
… …
Die Höhe eines Z-stratifizierten Baumes mit N Blättern ist O(log N)
![Page 6: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/6.jpg)
6
Beispiel
![Page 7: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/7.jpg)
7
Beispiel
![Page 8: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/8.jpg)
8
Einfügen
Füge neuen Schlüssel ganz unten ein und deponiere einen „push-up-request“
… …
… … ....
…..
…..
x p
![Page 9: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/9.jpg)
9
Iterierte Folge von Einfügungen
![Page 10: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/10.jpg)
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]
1 2 31 2
3
1 2
3 4 1 2 3 4
1
2 3
4 2 31 4
![Page 11: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/11.jpg)
11
Beseitigung eines Push-up-requests (2)
• Fall2 [Nächste Schicht voll]
Schaffe ggfs. neue Schicht an der Spitze
1
2 3
4 5 1
2 3
4 5
![Page 12: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/12.jpg)
12
Beseitigung mehrerer Push-up-Requests
Unterhalb unterster Straßen-Grenze:Von oben nach unten!
Sonst beliebig-nebenläufig!
![Page 13: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/13.jpg)
13
Entfernen
Deponiere für jede Entfernung einen Lösch-Vermerk.Beseitige Lösch-Vermerke.
… …
… … ....
…..
… …
![Page 14: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/14.jpg)
14
Beseitigung eines Löschvermerks
Fall 1 [genügend Knoten auf unterster Schicht]
Fall 2 [unterste Schicht zu dünn]
Deponiere „pull-down-request“ p q q
![Page 15: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/15.jpg)
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
![Page 16: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/16.jpg)
16
Beseitigung von Pull-down-requests (1)
1p 2 3 1p 2 3
1p 2 3 4 p 1 2 3 41 p2 3 4
1 2 3 4p
Fall1 [genügend Knoten auf nächster Schicht]
Endliche Strukturänderung undHalt!
![Page 17: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/17.jpg)
17
Beseitigung von Pull-down-requests (2)
p
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.)
![Page 18: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/18.jpg)
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
![Page 19: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/19.jpg)
19
Nebenläufige Updates und Rebalanzierungen
…
Updates betreffen verschiedene Blätter
Einfügen eines Schlüssels x In einem Blatt mit Löschmarke
X
![Page 20: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/20.jpg)
20
Zu entfernendes Blatt
Nebenläufige Updates und Rebalanzierungen
Behandle Einfügungen, Entfernungen, , nebenläufig in beliebiger ReihenfolgeNach dem Prinzip „Topmost first“ und vermeide Überlappungen von Transformationen!
![Page 21: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/21.jpg)
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.
![Page 22: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren) Prof. Th. Ottmann](https://reader036.vdocuments.mx/reader036/viewer/2022070310/55204d6549795902118bad3b/html5/thumbnails/22.jpg)
22
Schlussbemerkung (2)
>=4 >=4
Rotation
q
p
r
r
q
p
p 1 2 3
halt!
p12
3