Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung 27.6.2005 Motivation • In welcher Masche M liegt Punkt P? P Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 2 1. Idee • Prüfen für jede Masche, ob Jordanscher Kurvensatz erfüllt • Nachteil: Laufzeit • n Kanten, m Maschen => O(n*m) Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 3 2. Idee: Indizierung • Erzeugen eines Index – Muss einmal erstellt werden – Steht bei jeder Abfrage zur Verfügung Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 4 Streifenkarte • Aufbau – Einfügen vertikaler Geraden an jedem Knoten – Teilung der Kanten der Maschen durch Schnitt – Entstehen von Trapezen (Dreiecken) • Index – Sortierung in X- und Y-Richtung – Binäre Suche in Arrays • Vorteil: schnelle Suche O(log n) • Nachteil: Speicherbadarf O(n²) Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 5 Trapezkarte • Aufbau – Umschließendes Rechteck – Keine Knoten mit gleichem X-Wert – Vertikale Geraden durch Knoten nur bis zur nächsten Kante (Extensionen) • Trapeze – ein/zwei vertikale Kanten – Zwei nicht vertikale Kanten Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 6 Eigenschaften der Trapeze • top(Δ) • bottom(Δ) • leftp(Δ): – linker Endpunkt von top(Δ) oder bottom(Δ) oder – rechter Knoten einer dritten Kante (linke Kante eines Trapezes besteht aus oberer und unterer Extension) oder – einer der linken Knoten von R (Trapez ganz links) • rightp(Δ): analog zu leftp(Δ) • Adjazenz zu max. vier anderen Trapezen Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 7 Datenstruktur • DAG – 2 Arten von Elementen • X-Elemente für Knoten: Links oder Rechts? • Y-Elemente für Kanten: Oben oder Unten? • Trapezkarte und DAG werden simultan konstruiert • 2 Standardfälle für einzufügende Kante: – K liegt innerhalb eines Trapezes – K schneidet zwei oder mehrere Trapeze Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 8 Beispiel p5 c p1 a p2 p4 b p3 Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 9 Übung9 Konstruierte die Trapezkarte und die zugehörige Suchstruktur für die Punkte und Segmente in der Abbildung. Die Reihenfolge, in der die Punkte und Segmente eingefügt werden sollen, ist p1, p2, a, p3, p4, b, p5, c, p6, p7, d. Es reicht aus, wenn die Trapezkarte und die zugehörige Suchstruktur jeweils nach dem Einfügen der Segmente a, b, c und d angeben wird. Ein umschließendes Rechteck braucht nicht berücksichtigt zu werden! d p6 p7 p1 a c p2 p3 b p5 p4 Schmittwilken - Übung zur Diskreten Mathematik II - 2. Semester - SoSe 05 10