lindenmannm@3: DIST[s]=0; lindenmannm@3: Z[s]=0; lindenmannm@3: forall(v:V\{s}) { lindenmannm@3: DIST[v]=infty; lindenmannm@3: Z[v]=0; lindenmannm@3: } lindenmannm@3: U={s}; lindenmannm@3: while(!U.Empty) { lindenmannm@3: Wähle und streiche Knoten u am Kopf von U; lindenmannm@3: Z[u]=Z[u]+1; lindenmannm@3: if Z[u]>n lindenmannm@3: return "negativer Zyklus"; lindenmannm@3: forall(e=(u,v):E) { lindenmannm@3: if(DIST[v]>DIST[u]+c(u,v)) { lindenmannm@3: DIST[v]=DIST[u]+c(u,v); lindenmannm@3: U=[U,{v}]; lindenmannm@3: }}}