13.07.2015 Aufrufe

INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...

INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...

INSTITUTFÜRINFORMATIK - Lehrstuhl für Effiziente Algorithmen ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

78 Kapitel 3. NetzwerkanalyseAlgorithmus:Eingabe:Aufgabe:Havel-HakimiArray D[1 ...n]mitnatürlichen ZahlenAdjazenzmatrix A G für Graphen G =(V,E) mit Gradfolge D/* Verwenden Maximum Priority Queues Q 1 und Q 2 mit Ordnung bezüglich D[i] */1. FOR i := 1 TO n2. Q 1 .insertItem((i, D[i]))3. WHILE Q 1 ist nicht leer4. (v, d v ):=Q 1 .extractMax5. IF ‖Q 1 ‖≥d v6. FOR j := 1 TO d v7. (u, d u ):=Q 1 .extractMax8. A G [v, u] :=19. A G [u, v] :=110. IF d u ≥ 211. Q 2 .insertItem((u, d u − 1))12. Q 1 :=merge(Q 1 ,Q 2 )13. ELSE14. Gebe Konstruktion nicht möglich“ zurück”15. Gebe A G zurückAbbildung 3.1: Der Algorithmus von Havel und HakimiKorollar 3.21 (Havel 1955, Hakimi 1962) Eine Folge (d 1 ,...,d n ) mit d 1 ≥··· ≥ d nund d 1 ≤ n−1 ist genau dann die Gradfolge eines ungerichteten Graphen (ohne Schleifen),wenn (d 2 − 1,...,d d1 +1 − 1,d d1 +2,...,d n ) Gradfolge eines solchen Graphen ist.Das Korollar kann direkt in einen Algorithmus übertragen werden (siehe Algorithmus 3.1).Beispiel. Wir betrachten wieder die Folge D =(4, 3, 3, 2, 2, 2, 2)-Erste Runde:Knoten 1 2 3 4 5 6 7Grad (alt) 4 3 3 2 2 2 2Grad (neu) - 2 2 1 1 2 2Zweite Runde:Knoten 2 3 6 7 4 5Grad (alt) 2 2 2 2 1 1Grad (neu) - 1 1 2 1 1Dritte Runde:Knoten 7 3 4 5 6Grad (alt) 2 1 1 1 1Grad (neu) - - - 1 1Vierte Runde:Knoten 5 6Grad (alt) 1 1Grad (neu) - -Skriptum zu Internet-Algorithmik WS 2006/2007

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!