30.01.2015 Aufrufe

pdf, 387 KB

pdf, 387 KB

pdf, 387 KB

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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!