1 / 22

Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren)

Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren). Prof. Th. Ottmann. Balanzierte (Blatt-)suchbäume. 10. Dictionary: Menge von Schlüsseln, Operations: Suchen, Einfügen, Entfernen

Download Presentation

Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 –Relaxiertes Balanzieren)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Balanzierte (Blatt-)suchbäume 10 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, … 6 15 2 9 11 23 2 5 7 10 11 15 20 30 5 6 7 9 20 23

  3. Rotation 10 6 15 2 9 11 23 2 5 7 10 11 15 20 30 5 6 7 9 20 23 Rotation p q x x q p y y 3 1 1 2 2 3

  4. 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 Striktes und relaxiertes Balanzieren

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

  6. Beispiel

  7. Beispiel

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

  9. Iterierte Folge von Einfügungen

  10. 1 2 3 4 3 4 1 2 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 4 3 1 2 3 2 3 1 2 1 2 3 4

  11. Beseitigung eines Push-up-requests (2) • Fall2 [Nächste Schicht voll] 1 4 5 1 4 5 2 3 2 3 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. Fall 1 [genügend Knoten auf unterster Schicht] Fall 2 [unterste Schicht zu dünn] Beseitigung eines Löschvermerks Deponiere „pull-down-request“ p q q

  15. Beseitigung eines Pull-down-requests • 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] Umstrukturieren und Halt! p Wenigstens 3 Links …

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

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

  18. Folgen von Entferne-Operationen • 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.

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

  20. Nebenläufige Updates und Rebalanzierungen Zu entfernendes Blatt 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) q r r Rotation q p p >=4 >=4 halt! p 3 p 1 2 3 1 2

More Related