author | Eugen Sawin <sawine@me73.com> |
Sat, 05 Mar 2011 15:04:05 +0100 | |
changeset 9 | e088ae08440c |
permissions | -rw-r--r-- |
lindenmannm@3 | 1 |
DIST[s]=0; |
lindenmannm@3 | 2 |
Z[s]=0; |
lindenmannm@3 | 3 |
forall(v:V\{s}) { |
lindenmannm@3 | 4 |
DIST[v]=infty; |
lindenmannm@3 | 5 |
Z[v]=0; |
lindenmannm@3 | 6 |
} |
lindenmannm@3 | 7 |
U={s}; |
lindenmannm@3 | 8 |
while(!U.Empty) { |
lindenmannm@3 | 9 |
Wähle und streiche Knoten u am Kopf von U; |
lindenmannm@3 | 10 |
Z[u]=Z[u]+1; |
lindenmannm@3 | 11 |
if Z[u]>n |
lindenmannm@3 | 12 |
return "negativer Zyklus"; |
lindenmannm@3 | 13 |
forall(e=(u,v):E) { |
lindenmannm@3 | 14 |
if(DIST[v]>DIST[u]+c(u,v)) { |
lindenmannm@3 | 15 |
DIST[v]=DIST[u]+c(u,v); |
lindenmannm@3 | 16 |
U=[U,{v}]; |
lindenmannm@3 | 17 |
}}} |