Trong một trò chơi, người chơi muốn tìm đường đi ngắn nhất để đi từ A đến P, biết từ A đến P có những đường đi như hình vẽ và khoảng cách giữa các vị trí được cho trên hình. Đường đi thỏa mãn điều kiện trên nhận giá trị nhỏ nhất là bao nhiêu?

Thuật toán Dijkstra.
Áp dụng thuật toán Dijkstra, ta tìm được đường đi ngắn nhất từ A đến P là:
A > M > P: 7 + 8 + 6 = 21.
Thuật toán Dijkstra
Sử dụng khi cần tìm đường đi ngắn nhất mà không cần đi qua tất cả các đỉnh hay các cạnh.
Bước 1: Gán khoảng cách từ đỉnh nguồn đến chính nó là 0, và đến tất cả các đỉnh khác là vô cùng.
Bước 2: Gọi đỉnh chưa xét với giá trị đánh dấu nhỏ nhất là C.
Bước 3: Với mỗi đỉnh kề (N) với đỉnh hiện tại C và chưa được xét, tính toán khoảng cách mới từ nguồn qua C đến N (bằng khoảng cách của C cộng với trọng số cạnh nối C và N).... Nếu khoảng cách mới này nhỏ hơn khoảng cách hiện đang gán cho đỉnh N, hãy cập nhật lại khoảng cách của N bằng giá trị nhỏ hơn đó.
Bước 4: Đánh dấu đỉnh C là đã xét xong.
Bước 5: Tiếp tục lặp lại bước 2 cho đến khi tất cả các đỉnh đã được xét.
































Danh sách bình luận