Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...
Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...
Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...
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