Menu
CoddyTech

Động lực

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

Dijkstra mở rộng một tập hợp các đỉnh có khoảng cách ngắn nhất đã được xác định. Thuật toán luôn chốt đỉnh chưa được chốt có khoảng cách gần nhất, rồi dùng đỉnh đó để cải thiện (thư giãn) khoảng cách đến các đỉnh kề.

Tại sao nên học Dijkstra?

  • Ứng dụng rộng rãi: tìm đường bằng GPS, định tuyến gói tin mạng và mọi bài toán tìm đường đi có chi phí thấp nhất.
  • Tham lam nhưng hiệu quả: một ví dụ rõ ràng về lựa chọn tham lam được chứng minh là cho kết quả tối ưu, miễn là trọng số không âm.
  • Nền tảng: ý tưởng thư giãn của thuật toán xuất hiện lại trong A* và các thuật toán tìm đường đi ngắn nhất khác.

Quan trọng: Dijkstra giả định không có trọng số âm. Với cạnh âm, cần dùng Bellman-Ford, nội dung của khóa học tiếp theo.

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