T 蔚 NG QUAN H烏 H 渦 NG HÔNG IN QUANG
4.3. L逢u 8欝 thu壱t toán
Gi違 s穎 b瓜 8鵜nh tuy院n mô ph臼ng tìm 8逢運ng 8i v噂i 8逢運ng 8i ng逸n nh医t qua các tuy院n gi英a node ngu欝n và node8ích. Các tr丑ng s嘘 trên các c衣nh là 8瓜 dài c栄a tuy院n thông tin t瑛 node này8院n node kia.
Ch逢挨ng 4: Th詠c hi羽n mô ph臼ng
B逸t 8亥u
Xác 8鵜nh node ngu欝n và 8ích nh逢 V1 và V2
Thi院t l壱p V1là T-node
Thi院t l壱p nhãn c栄a T-node sang c嘘 8鵜nh, sau 8ó c壱p nh壱t b違ng tr衣ng
thái các node lân c壱n.
Xác 8鵜nh node t衣m th運i n嘘i v噂i V1 mà có tr丑ng s嘘 nh臼 nh医t và thi院t
l壱p thành T-node
D詠a vào thông tin trong b違ng tr衣ng thái, làm nh逢 th院 cho 8院n khi t噂i node V1, dãy các node8ó là 8逢運ng
8i ng逸n nh医t K院t thúc NO YES T-node có ph違i là V2
Ch逢挨ng 4: Th詠c hi羽n mô ph臼ng
Thu壱t toán s胤 th詠c hi羽n tìm8雨nh u trong t壱p h嬰p Q mà có giá tr鵜 d[u] nh臼 nh医t. A雨nh này 8逢嬰c lo衣i ra kh臼i Q và 8逢嬰c 8逢a vào t壱p S. T壱p S ch泳a m瓜t b違ng các 8雨nh t衣o thành m瓜t trong nh英ng 8逢運ng 8i ng逸n nh医t t瑛 s 8院n node ngu欝n t nào 8ó.
1 function Dijkstra(G, w, s) 2 for each vertex v in V[G]
3 d[v] := infinity // Gán các giá tr鵜 ban 8亥u 4 previous[v] := undefined
5 d[s] := 0 // Kho違ng cách t瑛 s 8院n s b茨ng 0 6 S := empty set // Thi院t l壱p S là t壱p h嬰p r厩ng
7 Q := V[G] // T壱p Q ch泳a t医t c違 các node c栄a 8欝 th鵜 8 while Q is not an empty set
9 u := Extract_Min(Q) 10 S := S union {u}
11 for each edge (u,v) outgoing from u 12 if d[u] + w(u,v) < d[v]
13 d[v] := d[u] + w(u,v) 14 previous[v] := u