Aufgabe ( Punkte) Aufgabe ( Punkte)

Werbung
Graphentheorie
Bachelor Praktische Informatik
Name:
Prof. Dr.-Ing. Klaus Berberich
Vorname:
Aufgabe
�
�
Matrikel:
�
�
�
Punkte
P
%
Aufgabe � (� Punkte)
Betrachten Sie den folgenden ungerichteten Graphen:
�
�
�
�
�
(a) Geben Sie die Adjazenzmatrix des Graphen an.
(b) Welche einfachen Zyklen, die aus genau vier Kanten bestehen, besitzt der Graph? Dabei sollen
Zyklen, die aus den gleichen Knoten bestehen, nicht mehrfach gezählt werden.
(c) Ermitteln Sie die Summe der Knotengrade mittels Anzahl der Kanten.
(d) De�nieren Sie allgemein den Begri� “Spannbaum eines ungerichteten zusammenhängenden
Graphen”. Wieso kann dieser Graph keinesfalls mehr als 70 Spannbäume besitzen?
Aufgabe � (� Punkte)
(a) Ein gewurzelter binärer Baum besitze 1000 Knoten. Bis auf die letzte Ebene seien alle Ebenen
voll besetzt. Wie viele Knoten be�nden sich auf der letzten Ebene?
(b) Auf einen gewurzelten binären Baum werde der Algorithmus dfs zur Tiefensuche mit der Wurzel
als Startknoten angewendet. Wie kann man anhand der Ergebnisse der Tiefensuche feststellen,
ob ein Knoten ein Nachfahre eines anderen Knotens ist?
Prüfungsklausur GT
Wintersemester ����/���� – ��. März ����
Seite � von �
Aufgabe � (� Punkte)
Ein gerichteter Graph mit den Knoten 0, . . . , 5 sei durch folgende Gewichtsmatrix gegeben:
2
3
0 2 1 1 1 1
61 0 1 3 1 17
6
7
61 1 0 4 3 17
6
7
61 1 1 0 2 2 7
6
7
41 1 1 1 0 3 5
1 1 1 1 1 0
(a) Skizzieren Sie den Graphen.
(b) Führen Sie den Dijkstra-Algorithmus durch, bis ein kürzester Pfad vom Startknoten 0 zum Starknoten 3 ermittelt ist. Geben Sie dazu nach Durchführung eines jeden Schritts folgende Informationen an:
• Nr. des Knotens, zum dem ein kürzester Pfad in diesem Schritt ermittelt wurde
• Inhalte der Felder dis und pre nach Aktualisierung.
(c) Der Algorithmus von Dijkstra benutzt eine Prioritätswarteschlange, die als MinHeap organisiert
ist. Welche Operationen werden durch die Operation decreaseKey auf diesem MinHeap ausgeführt?
(d) Gemäß der Implementierung aus der Vorlesung besitzt der Algorithmus von Dijkstra eine Zeitkomplexität von O((m + n) · log(n)), wobei n die Knotenzahl und m die Kantenzahl bezeichnet.
Wie groß ist die Zeitkomplexität im schlechtesten Fall in Abhängigkeit von der Knotenzahl n?
Begründen Sie Ihre Antwort.
Aufgabe � (� Punkte)
Betrachten Sie den folgenden ungerichteten gewichteten Graphen:
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(a) Bestimmen Sie mit Hilfe des Algorithmus von Kruskal einen minimalen Spannbaum. Geben Sie
für jede zur Menge T hinzugefügte Kante die aktuellen Inhalte der Arrays tu und tv sowie den
aktuellen Inhalt des Arrays r zur Verwaltung disjunkter Knotenmengen an.
(b) Ein kürzester Pfad zwischen zwei Knoten s und t besuche alle sonstigen Knoten des Graphen. Ein
Kollege behauptet, dass die auf dem Pfad enthaltenen Kanten dann einen minimalen Spannbaum
bilden. Stimmen Sie dieser Aussage zu? Begründen Sie Ihre Antwort.
Prüfungsklausur GT
Wintersemester ����/���� – ��. März ����
Seite � von �
Name:
Vorname:
Matrikel:
Aufgabe � (� Punkte)
Beim Kompilieren von Programmen müssen Abhängigkeiten zwischen Quellcode-Dateien berücksichtigt werden. Eine Abhängigkeit entsteht beispielsweise dann, wenn in der Datei B eine Klasse verwendet wird, die in der Datei A beschrieben ist. Ist dies der Fall, muss die Datei A vor der Datei B kompiliert werden. Wird eine Datei geändert, müssen die Datei selbst und alle (transitiv) davon abhängigen
Dateien neu kompiliert werden. Viele Quellcode-Dateien zusammen ergeben dann einen gerichteten
azyklischen Graphen folgender Art:
A
B
C
D
E
F
G
H
I
Folgende Fragestellungen lassen sich mit den in der Vorlesung behandelten Verfahren lösen. Beschreiben Sie Ihre Vorgehensweise jeweils im Detail.
(a) Wie können Sie eine Reihenfolge bestimmen, in der die Dateien kompiliert werden sollen?
(b) Wie können Sie bestimmen, welche Dateien nach Änderung einer einzelnen Datei
neu übersetzt werden müssen?
(c) Wie können Sie feststellen, ob Teile des Quellcodes unabhängig voneinander sind
und sich daher parallel übersetzen lassen?
Prüfungsklausur GT
Wintersemester ����/���� – ��. März ����
Seite � von � ⌅
Herunterladen