code/BelmanFord.code
changeset 5 675024f99bf0
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/code/BelmanFord.code	Tue Feb 22 19:14:19 2011 +0100
     1.3 @@ -0,0 +1,17 @@
     1.4 +DIST[s]=0;
     1.5 +Z[s]=0;
     1.6 +forall(v:V\{s}) {
     1.7 +    DIST[v]=infty;
     1.8 +    Z[v]=0;
     1.9 +}
    1.10 +U={s};
    1.11 +while(!U.Empty) {
    1.12 +    Wähle und streiche Knoten u am Kopf von U;
    1.13 +    Z[u]=Z[u]+1;
    1.14 +    if Z[u]>n
    1.15 +        return "negativer Zyklus";
    1.16 +    forall(e=(u,v):E) {
    1.17 +        if(DIST[v]>DIST[u]+c(u,v)) {
    1.18 +            DIST[v]=DIST[u]+c(u,v);
    1.19 +            U=[U,{v}];
    1.20 +}}}
    1.21 \ No newline at end of file