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