Graphentheorie Bachelor Praktische Informatik Name: Prof. Dr.-Ing. Klaus Berberich Vorname: Aufgabe 1 2 Matrikel: 3 4 P 5 % Punkte Aufgabe 1 (3 Punkte) (a) Betrachten Sie den folgenden gerichteten Graphen: 0 1 2 3 4 (i) Geben Sie alle einfachen Pfade von 4 nach 2 an. (ii) Wie viele Pfade von 4 nach 2 gibt es? (iii) Ist der Graph topologisch sortierbar? (b) Wie viele Kanten kann ein gerichteter Graph mit n Knoten höchstens besitzen, wenn er topologisch sortierbar ist? Sie dürfen bei Ihrer Argumentation voraussetzen, dass die Reihenfolge der topologischen Sortierung der Reihenfolge 0, 1, . . . n − 1 entspricht. Prüfungsklausur GT Sommersemester 2017 – 31. Juli 2017 Seite 1 von 3 Aufgabe 2 (5 Punkte) (a) Ein gerichteter Graph mit den Knoten 0, 1, . . . , 7 ist durch folgende Adjazenzmatrix gegeben: 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 (i) Skizzieren Sie den Graphen. (ii) Führen Sie eine Breitensuche mit dem Startknoten 7 durch, wobei Sie bei jedem Schritt nur den Inhalt des Arrays pre und den Inhalt der FIFO-Warteschlange q angeben. Dabei dürfen Sie den Algorithmus beenden, wenn sich das Array pre offensichtlich nicht mehr ändern kann (d.h. kein Knoten ist mehr weiß). Skizzieren Sie auch den sich ergebenden Breitensuchbaum. (b) Bei der Tiefensuche auf einem azyklischen gerichteten Graphen mit den Knoten 0, 1, . . . , 7 haben sich die folgenden Arrays beg und end ergeben: beg = [2|1|9|4|14|10|5|13] end = [3|8|12|7|15|11|6|16] (i) Ermitteln Sie anhand dieser Information die Reihenfolge der Knoten bei einer topologischen Sortierung. (ii) Skizzieren Sie anhand der Inhalte von beg und end den Tiefensuchwald. Aufgabe 3 (4 Punkte) Auf einem gerichteten Graphen mit Kantengewichten und den Knoten 0, 1, . . . , 4 wird der Algorithmus von Floyd und Warshall angewendet. Es ergibt sich nach dem Schleifendurchlauf für z = 2 die folgende Matrix D(2) : 0 2 ∞ ∞ −1 ∞ 0 ∞ ∞ −3 (2) D = ∞ −2 0 ∞ −5 ∞ 2 4 0 −1 10 7 9 1 0 (a) Erläutern Sie, was ein Eintrag dij in D(2) bedeutet. (b) Berechnen Sie aus D(2) mittels des Algorithmus von Floyd und Warshall die Distanzmatrix. (c) Mit dem Algorithmus von Floyd und Warshall werden die Distanzen der kürzesten Wege von jedem Knoten zu allen anderen berechnet. Wie können Sie für einen Graphen mit nichtnegativen Gewichten unter Verwendung des Algorithmus von Dijkstra diese Aufgabe lösen und wie groß wäre die Zeitkomplexität im schlechtesten Fall in Abhängigkeit von der Knotenzahl |V |? Hinweis: Die Zeitkomplexität des Algorithmus von Dijkstra beträgt O((|E|+|V |) log |V |). Prüfungsklausur GT Sommersemester 2017 – 31. Juli 2017 Seite 2 von 3 Name: Vorname: Matrikel: Aufgabe 4 (4 Punkte) Für einen gegebenen Graphen G(V, E) haben wir mit dem Algorithmus von Kruskal einen minimalen Spannbaum T ⊆ E berechnet. Wir möchten nun ein Hinzufügen zusätzlicher Kanten und ein Löschen existierender Kanten erlauben und den minimalen Spannbaum mit geringem Aufwand aktualisieren. (a) Wann muss der minimale Spannbaum T nicht aktualisiert werden, wenn eine zusätzliche Kante (u, v) mit Gewicht w(u, v) zum Graphen hinzugefügt wird? (b) Wie können Sie den minimalen Spannbaum T aktualisieren, wenn eine neue Kante (u, v) mit Gewicht w(u, v) zum Graphen hinzugefügt wird? Wann ist dies günstiger als eine Neuberechnung des minimalen Spannbaumes? (c) Wann muss der minimale Spannbaum T nicht aktualisiert werden, wenn eine existierende Kante (u, v) ∈ E gelöscht wird? Sie dürfen annehmen, dass der Graph weiterhin zusammenhängend ist. (d) Wie können Sie den minimalen Spannbaum T aktualisieren, wenn eine existierende Kante (u, v) ∈ E gelöscht wird? Wann ist dies günstiger als eine Neuberechnung des minimalen Spannbaumes? Sie dürfen annehmen, dass der Graph weiterhin zusammenhängend ist. Hinweis: Begründen Sie Ihre Antworten! Aufgabe 5 (4 Punkte) (a) Führen Sie die folgenden Operationen auf dem unten angegebenen binären Suchbaum durch. insert(4) delete(5) insert(11) delete(8) Geben Sie den Zustand des binären Suchbaums nach jeder Operation an. 8 5 1 9 6 13 (b) Die Zahlen 5, 7, 3, 1, 2, 13, 11 sollen in einen binären Suchbaum eingefügt werden. Die Höhe des binären Suchbaums hängt von der Reihenfolge ab, in der die Zahlen eingefügt werden. (i) Was ist die maximale Höhe des resultierenden binären Suchbaums? Geben Sie eine Reihenfolge zum Einfügen der Zahlen an, bei der diese erreicht wird. (i) Was ist die minimale Höhe des resultierenden binären Suchbaums? Geben Sie eine Reihenfolge zum Einfügen der Zahlen an, bei der diese erreicht wird. Prüfungsklausur GT Sommersemester 2017 – 31. Juli 2017 Seite 3 von 3