"데이크스트라 알고리즘"의 두 판 사이의 차이

3 d[v] := infinity
4 previous[v] := undefined
5 d[s] := 0 ''//덮어쓰기''
6 S := empty set
7 Q := set of all vertices
8 '''while''' Q is not an empty set ''// 알고리즘의 실행''
9 u := Extract_Min(Q) ''//집합 Q에서 d[u]가 최소인 u를 찾아 빼냄''
10 S := S union {u} ''//빼낸 u를 S에 삽입''
11 '''for''' each v with edge (u,v) outgoingdefined from u
12 '''if''' d[v] > d[u] + w(u,v) ''// (u,v)의 경감''
13 d[v] := d[u] + w(u,v) ''// 변(u,v)의 경감''
14 previous[v] := u ''//경로 추적할 때 쓰임//''
만약 ''s''에서 모든 ''v''에 대해서가까지의 아니라최소 특정한경로를 찾는 것이 아니라, ''s''에서 특정 꼭짓점 ''t''까지의 최단 거리만을 알고 싶다면 9번째8번째 행에서행에 ''<math>u''\neq = ''t''일</math>의 조건을 종료하면추가하면 된다.
 
previous[]가 구해지면, 이를 이용해 다음과 같이 ''s''에서 ''t''까지의 최단 경로는 다음과 같이경로를 얻을 수 있다.
 
1 S := empty sequence