Kein Folientitel - Institute of Cartography and Geoinformation

Werbung
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
Herunterladen