Traduction algorithme en C
Bonsoir ,
J'ai besoin de vos aides s'ils vous plait !
J'ai l'algorithme suivant et je veux le traduire en C :
******
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| {M3 toujours défini implicitement en tant que V \ ( M1 UNION M2) }
pour chaque v de V
Distance(v) := infini;
fin pour
M1 := {s};
M2 := {};
Distance(s) := 0;
pour chaque arc (s,v) de E avec v de V
Distance(v) := Poid(s,v)
M2 := M2 UNION {v}
fin pour
tant que l'ensemble M2 n'est pas vide
choisir le v de M2 avec Distance(v) minimal
M2 := M2 \ {v}
M1 := M1 UNION {v}
pour chaque (v,w) de E avec w de V
si w dans M3 alors
M2 = M2 UNION {w}
Distance(w) := Distance(v) + Poid(v,w);
sinon si Distance(w) > Distance(v) + Poid(v,w) alors
Distance(w) := Distance(v) + Poid(v,w)
fin si
fin pour
fin tant que |
***
Merci :)