Klausur Geoinformation I – Fragen zur Vorbereitung

Werbung
Prof. Dr. Lutz Plümer
Dr. Gerhard Gröger
Name:
_______________________
Matrikel-Nr.:
_______________________
Klausur „Diskrete Mathematik“, SS 02
1. Termin, 18. 7. 2002
1. (35 Punkte)
1.1. Wenden Sie den in der Vorlesung vorgestellten Algorithmus von Dijkstra auf den
Graphen in der Abbildung an, um den kürzesten Weg vom Knoten A zum Knoten Z
zu ermitteln. Es reicht aus, wenn Sie für jeden Schritt des Algorithmus
 die besuchten, noch nicht vollständig abgearbeiteten Knoten („grüne Knoten“)
inklusive der kürzesten bisher gefundenen Weglängen, sowie
 den aktuell bearbeiteten Knoten
angeben.
1.2. Wenden Sie nun den ebenfalls in der Vorlesung vorgestellten Algorithmus „Dijkstra
mit Geometrie“ auf den Graphen in der Abbildung an, um den kürzesten Weg vom
Knoten A zum Knoten Z zu ermitteln. Als Euklidischen Abstand zwischen zwei
Knoten verwenden Sie bitte die grobe Schätzung des Abstands in der Abbildung in
Zentimetern. Es reicht auch hier aus, wenn Sie für jeden Schritt des Algorithmus die
„grünen Knoten“ inklusive der kürzesten bisher gefundenen Weglängen sowie den
aktuell bearbeiteten Knoten angeben.
C
4,0
ß
2,0
Z
2,0
2,2
D
I
2,1
2,1
A
7,0
1,0
2,3
E
B
0,5
H
2,0
4,0
G
F
2. (25 Punkte) Fügen Sie die Zahlen nacheinander in dieser Reihenfolge in einen anfangs
leeren AVL-Baum ein:
22
49
13
60
27
69
2
5
1
6
62
Stellen Sie dabei durch Anwendung der in der Vorlesung eingeführten Operationen sicher,
dass nach jedem Einfügen wieder ein AVL-Baum vorliegt. Skizzieren Sie den AVL-Baum
nach jedem Einfügen und benennen Sie die Operationen.
Seite 1 von 2
3. (15 Punkte) Der Scanline-Algorithmus, der in der Vorlesung vorgestellt wurde, ist nicht
auf Liniensegmente anwendbar, bei denen die x-Koordinaten der Anfangs- oder
Endpunkte paarweise identisch sind. Ein spezieller
Fall ist hier, wenn auch die y-Koordinaten der
Anfangs- bzw. Endpunkt zweier Liniensegmente
identisch sind, d.h. wenn beide Liniensegmente
adjazent sind (vgl. die beiden Beispiele in der
nebenstehenden Abbildung). Geben Sie die Stellen im Scanline-Algorithmus aus der
Vorlesung an, an denen Probleme bei adjazenten Segmenten auftreten. Skizzieren Sie eine
Modifikation des Algorithmus, der diese Probleme löst und insbesondere auch die
Schnittpunkte zwischen adjazenten Liniensegmenten findet.
4. (15 Punkte) Formulieren Sie einen Algorithmus in Pseudocode, der den Mittelwert
(Summe geteilt durch Anzahl) und die (empirische) Varianz (Summe der Quadrate der
Differenz von Zahl und Mittelwert, geteilt durch die um Eins verringerte Anzahl) der
Zahlen in einem Array berechnet. Ihre Formulierung soll sehr eng an Java angelehnt sein.
5. (25 Punkte) Formulieren Sie einen Algorithmus in Pseudocode, der aus einem VoronoiDiagramm
5.1. die entsprechende Delaunay-Triangulation und
5.2. die konvexe Hülle der Punktmenge, die dem Voronoi-Diagramm zugrunde liegt,
herleitet. Der Pseudocode soll präzise sein, braucht jedoch nicht eng an Java angelehnt zu
sein.
Gesamtpunktzahl: 115
Anmerkung:
Diese Klausur dauert 90 Minuten. Wir gehen davon aus, dass Sie in diesen 90 Minuten 100
Punkte erzielen können. Der Aufgabenzettel enthält 5 Aufgaben mit 115 Punkten. Aus
diesen Aufgaben können Sie die Teilmenge auswählen, die am besten zu Ihren Kenntnissen
passt. Lassen Sie sich also nicht von den Anforderungen des Aufgabenzettels entmutigen,
sondern beginnen Sie mit den Aufgaben, die Sie am besten lösen können. Der
Bewertungsschlüssel bezieht sich auf das Intervall von 0 bis 100 Punkte.
Viel Erfolg!
Seite 2 von 2
Herunterladen