Ubungen zur Informatik III im WS 02/03 Blatt 12

Werbung
INSTITUT FÜR INFORMATIK V
53117 BONN
UNIVERSITÄT BONN
Römerstraße 164
Prof. Dr. N. Blum
H.-H. Leinen
M. Löhnertz
13. Januar 2003
Übungen zur Informatik III im WS 02/03
Blatt 12
Abgabe: 21.01.2003
Aufgabe 1. (6 Punkte)
a) Entwickeln Sie einen Linearzeitalgorithmus, der für einen gegebenen Graphen überprüft, ob dieser
bipartit ist. (2 Punkte)
b) Entwickeln Sie einen Algorithmus, der für einen gegebenen Graphen feststellt, ob dieser nach Entfernen einer Kante bipartit ist. Was ist die Laufzeit Ihres Algorithmus? (2 Punkte)
c) Können Sie das Problem aus Teilaufgabe b) auch in Linearzeit lösen? Geben Sie hierfür einen
Algorithmus an! (2 Punkte)
Aufgabe 2. (1 Punkt)
Konstruieren Sie einen gewichteten Graphen, dessen gewichtsmaximales Matching kein bezüglich der
Anzahl der Kanten maximales Matching ist.
Aufgabe 3. (4 Punkte)
Gegeben sei ein azyklischer Graph G = (V, E) und ein Startknoten s ∈ V . Entwickeln Sie einen Algorithmus, der in linearer Zeit für alle v ∈ V einen längsten Weg von s nach v berechnet. Was geschieht, wenn
der Graph Kreise enthält?
Aufgabe 4. (6 Punkte)
a) Ergänzen Sie den Algorithmus Floyd, so dass dieser auch die kürzesten Wegebäume berechnet.
b) Zeigen Sie, dass der in Teilaufgabe a) ergänzte Algorithmus die folgenden Invarianten aufrechterhält:
(1) P (x, y)1 hat die Weglänge dist(x, y).
(2) P (x, y) ist unter den Pfaden von x nach y, die bis auf x und y nur Knoten aus V \U enthalten,
ein kürzester Pfad.
(3) P (x, y) ist ein einfacher Pfad, falls x 6= y, und ein einfacher Kreis, falls x = y.
(4) P (x, y) = P (x, πx (y)), y.
c) Zeigen Sie, dass der Algorithmus von Floyd Laufzeit O(n3 ) hat.
Aufgabe 5. (3 Punkte)
Analysieren Sie unter der Annahme, dass alle “elementaren” Operationen die Kosten 1 haben, ab welcher
Graphengröße der Algorithmus von Floyd dem Verfahren “n-maliges Anwenden des Algorithmus von
Dijkstra” überlegen ist.
1 Für
alle x, y ∈ V sei P (x, y) der aktuelle Pfad mit Gewicht dist(x, y) von x nach y, falls dist(x, y) endlich ist.
Herunterladen