Before (and during) the class session archive the code used a variable V for a specific Vertex. This was confusing since when I looked at {V} in the trace, I thought of it as the entire set of Vertices V. Since I looked like such an idiot doing the trace, I hence changed it in the notes. I hope that makes it easier to follow! Here is what was there ******************************************************************************* method ShortestPath (Vertex S,T); Begin For each vertex V in G // initialize Begin Pathlength (V) = infinity; Pathpred (V) = Undefined; Certain (V) = False; End Pathlength (S)=0; Nextodo={S}; While Not Certain (T) do Begin Pick vertex V in Nextodo with shortest pathlength; Certain (V)= true; for each neighbor W of V if Pathlength (W) > (Pathlength (V) + Dist (V,W)) then begin Pathlength (W) = Pathlength (V)+ Dist (V,W); Pathpred (W) = V; end; Nextodo = Nextodo - {V} + {neighbors of V which are not Certain} End; End;