1 / 87

Geoinformation II

Geoinformation II. Vorlesung 2 SS 2001. AVL-Bäume. Übersicht I. Einfacher Segmentschnitt I Verwaltung der aktiven Elemente letzte Stunde zur Erinnerung: Algorithmus Scan-Line Datenstrukturen für T und S Binärer Suchbaum Exkurs: AVL-Bäume AVL-Baum (Definition) AVL-Baum: Beispiel

bob
Download Presentation

Geoinformation II

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. Geoinformation II Vorlesung 2 SS 2001 AVL-Bäume

  2. Übersicht I • Einfacher Segmentschnitt I • Verwaltung der aktiven Elemente • letzte Stunde • zur Erinnerung: Algorithmus Scan-Line • Datenstrukturen für T und S • Binärer Suchbaum • Exkurs: AVL-Bäume • AVL-Baum (Definition) • AVL-Baum: Beispiel • Balancefaktor Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  3. Übersicht II • AVL-Baum: Beispiel • Einfügen von Knoten • Löschen von Knoten • L-Rotation • LR-Rotation • Exkurs: AVL-Bäume in Kürze • Vollständige Bäume • Minimale Knotenanzahl von AVL-Bäumen • Fibonacci-Zahlen Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  4. Übersicht III • Minimale Knotenanzahl von AVL-Bäumen • Maximale Höhe von AVL-Bäumen • Das Wichtigste zu AVL in Kürze • 4 Fälle im Überblick • Zurück zur GIS Vorlesung • Eine Variante des AVL-Baums • für die Haltepunkte ... Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  5. P2 P2 P3 P2 P3 P4 P1 g P4 P4 g` P1 P1 P3 Einfacher Segmentschnitt I S1 = det ( P1,P3,P4) Def.: Vor.: Alle Determinanten sind  0: S2 = det ( P3,P1,P2) g und g` schneiden sich genau dann, wenn S1, S2 S3 = det ( P2,P3,P4) sowie S3, S4jeweils verschiedene Vorzeichen S4 = det ( P4,P1,P2) haben. Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  6. B C E D Verwaltung der aktiven Elemente F B S2 S3 C S4 D A S1 E Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  7. letzte Stunde • Scan-Line • Hauptideen • Projektion auf x-Achse • Beschränkung auf aktive Elemente • Ordnung der aktiven Elemente durch Scan-Line • Beschränkung auf Nachbarn • zum Schluß: 2-Segment-Schnitt (müßte Ihnen bekannt sein) • heute: • Datenstrukturen für Scan-Line • Polygon-Overlay Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  8. Input: S: eine Menge von Segmenten Output: die Schnittpunkte der Elemente von S Sei T = Endpunkte der Segmente von S nach x-Koordinaten sortiert (Haltepunkte) L =  // aktive Segmente von S while T   do bestimme und entferne den nächsten Punkt pT x ist x-Koordinate von p case: p ist linker Endpunkt von sfuege_ein(s,x,L)sl = vorgaenger(s,x,L)sr = nachfolger(s,x,L) schnitt(sl,s,T); schnitt(s,sr,T); p ist rechter Endpunkt von s sl = vorgaenger(s,x,L)sr = nachfolger(s,x,L) entferne(s,x,L) schnitt(sl,sr,T) p ist Schnittpunkt von s und t vertausche(s,t,L,x) // t < ssl = vorgaenger(t,x,L)sr = nachfolger(s,x,L) schnitt(sl,t,T) schnitt(s,sr,T) zur Erinnerung: Algorithmus Scan-Line Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  9. Datenstrukturen für T und S • Datenstrukur für T • AVL-Baum • siehe diskrete Mathematik • zur Erinnerung: was ist ein AVL-Baum • erstens ein Suchbaum • und zwar ein ausgeglichener Suchbaum • Datenstruktur für L • AVL-Baum? • Vorgänger und Nachfolger • Variante des AVL-Baums • alle Informationen sind in Blättern (nicht in inneren Knoten) • die Blätter bilden eine doppelt verkettete Liste Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  10. <n >n Binärer Suchbaum • Ein binärer Baum B ist ein binärer Suchbaum, falls er leer ist oder die folgenden Eigenschaften erfüllt sind: • die beiden Unterbäume sind binäre Suchbäume • die Beschriftungen der Knoten des linken Suchbaums sind kleiner als die Beschriftung der Wurzel • die Beschriftungen des rechten Suchbaums sind größer als die Beschriftung der Wurzel n Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  11. Exkurs: AVL-Bäume siehe Vorlesung Nr. 9 Diskrete Mathe I

  12. AVL-Baum (Definition) Ein binärer Baum heißt ausgeglichener Baum oder AVL-Baum (nach Adelson-Velskij und Landis), falls sich für jeden Knoten k die Höhen h der beiden Teilbäume um höchstens 1 unterscheiden. Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  13. AVL-Baum: Beispiel Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  14. Balancefaktor Balancefaktor bal(k) bal(k) = h(rechter Teilbaum von k) - h(linker Teilbaum von k) Für AVL-Bäume gilt: bal(k) Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  15. AVL-Baum: Beispiel +1 -1 +1 0 0 +1 0 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  16. AVL-Baum: Beispiel +1 -1 +1 0 0 +1 0 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  17. AVL-Baum: Beispiel +2 0 +1 0 +1 0 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  18. Einfügen von Knoten Einfügen von k = 30 +1 14 0 +1 8 20 0 0 0 0 3 11 17 33 0 0 26 39 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  19. 0 +1 8 20 0 0 0 0 3 11 17 33 0 0 26 39 Einfügen von Knoten Einfügen von k = 30 +1 14 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  20. 0 +1 8 20 0 0 0 0 3 11 17 33 0 0 26 39 Einfügen von Knoten Einfügen von k = 30 +1 14 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  21. 0 8 0 0 0 3 11 33 0 0 26 39 Einfügen von Knoten Einfügen von k = 30 +1 14 +1 20 0 17 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  22. 0 8 0 0 0 3 11 33 0 0 26 39 Einfügen von Knoten Einfügen von k = 30 +1 14 +1 20 0 17 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  23. 0 +1 8 20 0 0 0 0 3 11 17 33 0 0 26 39 Einfügen von Knoten Einfügen von k = 30 +1 14 0 30 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  24. 0 +1 8 20 0 0 0 0 3 11 17 33 0 26 39 0 30 Einfügen von Knoten Einfügen von k = 30 +1 14 +1 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  25. 0 8 0 0 3 11 33 +1 0 26 39 0 30 Einfügen von Knoten Einfügen von k = 30 +1 14 +1 20 0 -1 17 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  26. 0 8 0 0 -1 3 11 33 +1 0 26 39 0 30 Einfügen von Knoten Einfügen von k = 30 +1 14 +2 20 0 17 Ausgeglichenheit ist verletzt Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  27. 0 8 0 0 -1 3 11 33 +1 0 26 39 0 30 Einfügen von Knoten Einfügen von k = 30 +1 14 +2 20 0 17 Ausbalancieren durch Rotation Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  28. Einfügen von Knoten Einfügen von k = 30 +1 14 0 +2 8 20 0 0 0 -1 3 11 17 33 +1 0 26 39 R- Rotation 0 30 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  29. 0 8 0 0 -1 3 11 33 +1 0 26 39 0 30 Einfügen von Knoten Einfügen von k = 30 +1 14 +2 20 0 17 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  30. Einfügen von Knoten Einfügen von k = 30 +1 14 0 +2 8 20 0 0 0 -1 3 11 17 33 +1 0 26 39 0 30 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  31. 0 8 0 0 3 11 26 33 30 39 Einfügen von Knoten Einfügen von k = 30 +1 14 +2 20 0 17 L- Rotation Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  32. 0 8 0 0 3 11 33 30 39 Einfügen von Knoten Einfügen von k = 30 +1 14 +2 20 0 17 26 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  33. Einfügen von Knoten Einfügen von k = 30 +1 14 0 +2 8 20 0 0 0 3 11 17 26 33 30 39 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  34. 0 8 0 0 0 0 3 11 20 33 0 0 0 17 30 39 Einfügen von Knoten Einfügen von k = 30 +1 14 0 26 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  35. 0 0 20 33 0 0 30 39 Einfügen von Knoten Einfügen von k = 30 +1 14 0 0 8 26 0 0 3 11 0 17 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  36. Einfügen von Knoten +1 14 0 0 8 26 0 0 0 0 3 11 20 33 0 0 0 17 30 39 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  37. Löschen von Knoten Löschen von k = 8 +1 14 0 +1 8 20 0 0 0 0 3 11 17 33 0 0 26 39 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  38. Löschen von Knoten Löschen von k = 8 +1 14 0 +1 8 20 0 0 0 0 3 11 17 33 0 0 26 39 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  39. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 8 +1 14 0 8 0 0 3 11 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  40. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 8 +1 14 -1 11 0 3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  41. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 8 +1 14 -1 11 0 3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  42. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 8 +1 14 -1 11 0 3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  43. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 11 +1 14 -1 11 0 3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  44. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 11 +1 14 -1 11 0 3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  45. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 11 +1 14 -1 11 0 3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  46. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 11 +1 14 0 3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  47. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 11 +2 14 0 3 L- Rotation Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  48. +1 20 0 0 17 33 0 0 26 39 Löschen von Knoten Löschen von k = 11 +2 14 0 3 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  49. Löschen von Knoten Löschen von k = 11 +2 14 0 +1 3 20 0 0 17 33 0 0 26 39 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

  50. 0 0 14 33 0 0 0 0 3 17 26 39 Löschen von Knoten 0 20 Lutz Plümer - Geoinformation - 6. Semester - SS 2001 - Vorlesung 2

More Related