Có một đồ thị vô hướng trong đó mỗi nút được gán một số màu. Tôi phải tìm đường đi ngắn nhất từ bất kỳ nút màu xanh nào đến bất kỳ nút màu đỏ nào. (Màu sắc khác cũng có thể tồn tại trong biểu đồ và mặc dù nó không quan trọng nhưng nó không được biết có bao nhiêu màu sắc.) Làm thế nào tôi có thể làm điều đó trong thời gian đa thức?Tìm đường đi ngắn nhất giữa hai nút bất kỳ thuộc hai tập con rời nhau của biểu đồ
Trả lời
Như một gợi ý, thêm hai nút mới vào biểu đồ, gọi chúng là s và t. Kết nối s với mỗi nút màu xanh với một cạnh của chi phí 0 và mỗi nút màu đỏ để t với một cạnh của chi phí 0. Sau đó tìm đường đi ngắn nhất từ s đến t.
Hy vọng điều này sẽ hữu ích!
cảm ơn, đây thực sự là giải pháp. – anirudh
Đa thức cả hai để thêm các nút s và t và để tìm đường đi ngắn nhất giữa chúng (ví dụ: với Dijkstra), do đó đa thức. – pvoosten
@ lbp Có rất nhiều cách dễ dàng để giải quyết nó trong thời gian đa thức, bạn có thể làm Floyd-Warshall và tìm cặp (màu xanh, đỏ) với khoảng cách tối thiểu. Bạn có thể làm Dijkstra | red | * | màu xanh | thời gian, rất kém hiệu quả, và vẫn là đa thức. Nhưng câu trả lời này cho một cách hiệu quả, không chỉ đa thức. – sdcvvc
- 1. Làm cách nào để tìm đường đi dài nhất trong Biểu đồ tuần hoàn giữa hai nút?
- 2. Tìm đường đi ngắn nhất với FGL
- 3. Tìm tất cả các đường đi ngắn nhất từ mọi cặp nút trên biểu đồ
- 4. Tìm đường đi ngắn nhất giữa hai điểm trên lưới, sử dụng Haskell
- 5. Cách tìm đường đi dài nhất giữa hai nút trong Lisp?
- 6. Cách tìm đường đi ngắn nhất trong biểu đồ có trọng số bằng networkx?
- 7. Bất kỳ thuật toán nào để tìm đường đi/khoảng cách ngắn nhất trong android?
- 8. Mạngx - Chiều dài đường đi ngắn nhất
- 9. Lấy tất cả Tuyến đường giữa hai nút neo4j
- 10. Làm thế nào để bạn sử dụng BFS hai chiều để tìm đường đi ngắn nhất?
- 11. Tìm đường dẫn k-ngắn nhất?
- 12. Làm hai nút HTML đi cạnh nhau
- 13. Đường đi ngắn nhất khi không có cạnh đã cho
- 14. Tôi có thể sử dụng thuật toán nào để tìm đường đi ngắn nhất giữa các loại nút được chỉ định trong biểu đồ?
- 15. Đếm số đường đi ngắn nhất thông qua một nút trong DAG
- 16. Tìm từ khác nhau giữa hai chuỗi
- 17. Cập nhật động các đường đi ngắn nhất
- 18. Cách tìm hai tuyến đường bản đồ google đang được giao nhau trong dự án IOS
- 19. Đường ngắn nhất (các nút ít nhất) cho biểu đồ không có trọng số
- 20. Vẽ đường thẳng giữa hai ô con
- 21. Khoảng cách gần nhất giữa hai điểm (bộ tách rời)
- 22. Java Maze đường đi ngắn nhất 2d int array
- 23. Tính số đường đi qua biểu đồ
- 24. Tính đường đi ngắn nhất qua cửa hàng tạp hóa
- 25. Bất kỳ sự khác biệt giữa hai trong c + +?
- 26. Cơ sở dữ liệu đồ thị có tốt hơn cho các thuật toán đường đi ngắn nhất không?
- 27. Bất kỳ giao lộ nào trong hai bộ sưu tập
- 28. Tìm đường chu kỳ tối thiểu trong một đồ thị động được hướng dẫn
- 29. Thêm hai Set [Bất kỳ]
- 30. Tìm đường phân cách giữa hai đa giác
Tôi chắc chắn thuật toán Dijkstra có thể được sử dụng theo cách nào đó để giải quyết vấn đề này, nhưng tôi chưa thể tìm ra cách. – anirudh