09.02.2014 Aufrufe

Hauptstudiumspraktikum Algorithmen und Datenstrukturen

Hauptstudiumspraktikum Algorithmen und Datenstrukturen

Hauptstudiumspraktikum Algorithmen und Datenstrukturen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Praktikum <strong>Algorithmen</strong> <strong>und</strong> <strong>Datenstrukturen</strong><br />

Team Nr. 4<br />

SCC<br />

Eine Linearzeitimplementation eines Algorithmus zur<br />

Berechnung starker Zusammenhangskomponenten in<br />

gerichteten Graphen<br />

Michael Baur, Daniel Fleischer, Robert Schmaus<br />

Universität Konstanz<br />

Sommersemester 2000<br />

Zusammenfassung<br />

Dieses Paper stellt einen Algorithmus vor, der in linearer Laufzeit<br />

(in Abhängigkeit der Anzahl der Knoten <strong>und</strong> Kanten) die<br />

starken Zusammenhangskomponenten eines gerichteten Graphen<br />

berechnet.<br />

1 Definitionen <strong>und</strong> Zielsetzungen<br />

Definition 1 Ein gerichteter Graph G = (V, E) heißt stark zusammenhängend,<br />

wenn es zwischen je zwei Knoten u, v ∈ V in beide<br />

Richtungen einen gerichteten Weg gibt.<br />

Definition 2 Eine starke Zusammenhangskomponente eines<br />

Graphen ist ein maximaler Subgraph, der stark zusammenhängend<br />

ist.<br />

Zwei Knoten liegen also genau dann in der selben Zusammenhangskomponente,<br />

wenn sie auf einem (nicht notwendig einfachen) gerichteten<br />

Kreis liegen. Die Relation<br />

v ∼ w :⇔ v <strong>und</strong> w liegen in derselben Zusammenhangskomponente<br />

ist eine Äquivalenzrelation auf den Knoten des Graphen. Im Folgenden<br />

wird nun ein Algorithmus vorgestellt, der die Zusammenhangskomponenten<br />

des Graphen berechnet – also die Äquivalenzklassen

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!