// v는 시작점, weight는 가중치 인접 행렬, n은 정점수
// create S[n], Dist[n]
for (i¬0; i<n; i¬i+1) do {
S[i] ¬ false; // S를 초기화
Dist[i] ¬ weight[v, i]; // Dist를 초기화
}
S[v] ¬ true;
Dist[v] ¬ 0;
for (i¬0; i<n-2; i¬i+1) do { // n-2번 반복
select u such that // 새로운 최단 경로를 선정
Dist[u] = min{Dist[j] | S[j] = false and 0≤j<n};
S[u] ¬ true;
for (w¬0; w<n; w¬w+1) do { // 확정이 안된 경로들에 대해 다시 계산
if (S[w] = false) then {
if (Dist[w] > (Dist[u] + weight[u, w])
then Dist[w] ¬ Dist[u] + weight[u, w];
}}}
end shortestPath
==================================================================================
위에걸 보고 자바로 변환을 하는데
select u such that 저 부분을 어떻게 변환해야될지 모르겠습니다.
요부분만 해결하면 될듯한데 자바를 다 안배우고 알고리즘을 하는지라... 잘 모르겠습니다.
알려주시면 감사하겠습니다.
짧은글 일수록 신중하게.