Menu
CoddyTech

Cách hoạt động?

Bài học 3 trên 9 trong khóa học Thuật toán Dijkstra, thuật toán đồ thị của Coddy.

Giữ một mảng dist: dist[source] = 0 và mọi đỉnh khác bắt đầu ở giá trị "infinity" (một số rất lớn). Giữ một cờ visited cho mỗi đỉnh.

Quy trình từng bước:

  1. Trong số các đỉnh chưa được thăm, chọn đỉnh u có dist nhỏ nhất. Nếu không có đỉnh nào có thể đến được, hãy dừng lại.
  2. Đánh dấu u đã được thăm: khoảng cách của nó đã cố định.
  3. Nới lỏng mọi cạnh u -> v có trọng số w: nếu dist[u] + w < dist[v], hãy giảm dist[v].
  4. Lặp lại cho đến khi cố định khoảng cách của tất cả các đỉnh có thể đến được.

Kết thúc thuật toán, mọi đỉnh vẫn có giá trị infinity đều không thể đến được (ta báo cáo chúng là -1).

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Thuật toán Dijkstra, thuật toán đồ thị

Tự luyện tập: Trình biên dịch C online