Làm thế nào để bạn tìm thấy đường đi ngắn nhất trong một đồ thị có hướng?
Làm thế nào để bạn tìm thấy đường đi ngắn nhất trong một đồ thị có hướng?

Video: Làm thế nào để bạn tìm thấy đường đi ngắn nhất trong một đồ thị có hướng?

Video: Làm thế nào để bạn tìm thấy đường đi ngắn nhất trong một đồ thị có hướng?
Video: Đồ thị (p1): Tìm đường đi ngắn nhất (thuật toán Dijkstra) 2024, Có thể
Anonim

Đưa ra một trọng số Chỉ đạo Acyclic Đồ thị và một đỉnh nguồn trong đồ thị , tìm những con đường ngắn nhất từ nguồn đã cho đến tất cả các đỉnh khác.

Đường dẫn ngắn nhất trong Đồ thị Acyclic được Hướng dẫn

  1. Khởi tạo dist = {INF, INF,….}
  2. Tạo một thứ tự topo của tất cả các đỉnh.
  3. Thực hiện theo sau cho mọi đỉnh u theo thứ tự tôpô.

Theo cách này, làm thế nào để bạn tìm được đường đi ngắn nhất trên đồ thị?

Các bước thuật toán: Đối với đồ thị với các đỉnh: Khởi tạo những con đường ngắn nhất giữa các đỉnh bất kỳ với Infinity. Tìm thấy tất cả các cặp những con đường ngắn nhất sử dụng các đỉnh trung gian, sau đó tìm thấy NS những con đường ngắn nhất sử dụng đỉnh trung gian và như vậy.. cho đến khi sử dụng tất cả các đỉnh làm nút trung gian.

Bên cạnh ở trên, làm thế nào để bạn tìm thấy đường đi ngắn nhất trong DFS? Không, bạn không thể sử dụng DFS đến tìm con đường ngắn nhất trong một đồ thị không có trọng số. Nó không phải là trường hợp, Phát hiện NS con đường ngắn nhất giữa hai nút được giải quyết độc quyền bởi BFS.

Tương tự, làm thế nào để bạn tìm thấy con đường ngắn nhất trong một cái cây?

  1. Cây ngang (độ sâu đầu tiên)
  2. Giữ các chỉ mục (nút)
  3. thêm các giá trị.
  4. làm (1) cho đến hết cây.
  5. so sánh tổng và in ra đường dẫn và tổng.

Thuật toán nào được sử dụng để tìm đường đi ngắn nhất?

Thuật toán đầu tiên đường dẫn ngắn nhất của Dijkstra

Đề xuất: