// 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 Àú ºÎºÐÀ» ¾î¶»°Ô º¯È¯ÇؾߵÉÁö ¸ð¸£°Ú½À´Ï´Ù.
¿äºÎºÐ¸¸ ÇØ°áÇÏ¸é µÉµíÇѵ¥ ÀÚ¹Ù¸¦ ´Ù ¾È¹è¿ì°í ¾Ë°í¸®ÁòÀ» ÇÏ´ÂÁö¶ó... Àß ¸ð¸£°Ú½À´Ï´Ù.
¾Ë·ÁÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.