pdf, 387 KB
pdf, 387 KB
pdf, 387 KB
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Bestimmung eines kürzesten Weges von einem Startknoten a zu allen<br />
anderen Knoten eines bewerteten Digraphen D = [V,E,c] mit dem<br />
Algorithmus von BELLMANN<br />
Eingabe: a : Startknoten<br />
c[i,j] : Bewertung des Pfeiles [i,j]<br />
Ausgabe: kw_dist[i] : Länge des kürzesten Weges von<br />
Startknoten a nach i<br />
pre[i] : Vorgänger des Knotens i auf dem<br />
kürzesten Weg von<br />
Startknoten a nach i<br />
VERSION a :<br />
D darf keine negativen Zyklen enthalten.<br />
Schritt 0: kw_dist[a] ← 0.<br />
kw_dist[i] ← ∞, ∀ i ≠ a.<br />
pre[i] ← 0 , ∀ i.<br />
Schritt 1: Durchführung für ∀ i ε V\{a} :<br />
falls kw_dist[i] > kw_dist[j]+c[j,i], (j ε P(i))<br />
setze kw_dist[i] ← kw_dist[j] + c[j,i],<br />
setze pre[i] ← j<br />
Schritt 2:<br />
Wiederholung von Schritt 1, bis kein kw_dist-<br />
Wert mehr verbessert werden kann.<br />
VERSION b :<br />
Schritt 0 :<br />
Schritt 1 :<br />
D ist topologisch sortiert.<br />
siehe Version a<br />
für i ← a+1,...,n führe aus:<br />
falls kw_dist[i] > kw_dist[j]+c[j,i], (j ε P(i))<br />
setze kw_dist[i] ← kw_dist[j] + c[j,i],<br />
setze pre[i] ← j<br />
Algorithmen + Datenstrukturen SS 2010 23.03.10 47 von 75