06.06.2014 Aufrufe

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

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.

Abbildung 3.9.: Ergebnis nach <strong>de</strong>m fünften Teilschritt <strong>de</strong>s ersten Durchlaufs.<br />

Abbildung 3.10.: Ergebnis nach <strong>de</strong>m ersten Teilschritt <strong>de</strong>s zweiten Durchlaufs.<br />

Im ersten Teilschritt <strong>de</strong>s zweiten Durchlaufs wird wie<strong>de</strong>r in je<strong>de</strong>m Knoten gesucht, ob<br />

eine Verbindung zu einem Knoten aus einer an<strong>de</strong>ren Komponente möglich ist und falls<br />

ja wird die günstigste genommen. In diesem Beispiel ist es nur <strong>de</strong>n Knoten 4 und 2<br />

möglich, eine Verbindung zu einer an<strong>de</strong>ren Komponente herzustellen. Das Ergebnis am<br />

En<strong>de</strong> dieses Teilschritts ist in Abbildung 3.10 zu sehen.<br />

Im zweiten Teilschritt wird nun für je<strong>de</strong>n Knoten i überprüft, ob es einen Knoten j gibt,<br />

welcher am Anfang <strong>de</strong>s Durchlaufs auf <strong>de</strong>n Knoten i gezeigt hat (C(j)=i) und nun nicht<br />

mehr auf i zeigt (T(j)!=i). Existiert min<strong>de</strong>stens ein solcher Knoten, so wird <strong>de</strong>r kleinste<br />

Knoten j gewählt und <strong>de</strong>r Nachfolger von i auf <strong>de</strong>n Nachfolger von j gesetzt (T(i)=T(j)).<br />

Solch eine Anweisung wird nur für die Knoten ausgeführt, die vorher Repräsentanten<br />

ihrer Gruppe waren, da nur solche noch am Anfang im Vektor C auftauchen. In diesem<br />

Beispiel trifft das auf <strong>de</strong>n Knoten 1 zu; dieser war vorher Repräsentant seiner Komponente<br />

und nun gibt es einen Knoten (Knoten 4), welcher nicht mehr auf <strong>de</strong>n Knoten 1<br />

zeigt. Also zeigt Knoten 1 nun auch nicht mehr auf sich selber, son<strong>de</strong>rn auf Knoten 2,<br />

<strong>de</strong>n Nachfolger von Knoten 4. Der einzige an<strong>de</strong>re Knoten, <strong>de</strong>r für eine Verän<strong>de</strong>rung in<br />

Frage käme, ist Knoten 2. Da dieser aber in seiner Komponente <strong>de</strong>r Einzige ist, welcher<br />

eine Verbindung in die an<strong>de</strong>re Komponente fin<strong>de</strong>t, muss <strong>de</strong>r Nachfolger nicht mehr umgesetzt<br />

wer<strong>de</strong>n. Ist ein Knoten nicht <strong>de</strong>r Repräsentant seiner Komponente, so wird er<br />

wie<strong>de</strong>r auf seinen Ausgangswert gesetzt (T(i)=C(i)), da die Verbindung zu <strong>de</strong>r an<strong>de</strong>ren<br />

Komponente nur einfach benötigt wird und diese vom Repräsentanten ausgeht. Das Ergebnis<br />

nach Teilschritt zwei <strong>de</strong>s zweiten Durchlaufs sieht dann wie in Abbildung 3.11<br />

40

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!