我有3条公共汽车有3条路线我们可以用公交车A,公交车B,公交车C和他们的路线命名我们的公共汽车r1,r2,r3 ..所以,路线中包含的地方是
bus-A route is r1
bus-B route is r2
bus-C route is r3
r1:[badoc,pin,curri,bat,san,laoag](vise versa)
r2:[pag,bang,bur,pas,bac,laoag](vise versa)
r3:[ban,mar,ding,san,laoag](vise versa)
我希望找到离
最近的路线CURRENT LOCATION:badoc
TARGET LOCATION:laoag
请帮助我算法应该如何获得路线...非常感谢!
答案 0 :(得分:1)
您的问题可以使用Dijkstra's Algorithm解决。将公交车站视为节点,并为每条边使用重量一。
答案 1 :(得分:1)
由于图形建模这个问题没有加权,所以这里不需要Dijkstra算法。
BFS也会找到最短路径 - 并且更容易编码,并且会更快地找到解决方案。
将图表设为G=(V,E)
,以便V = { all stops }
和E = {(v,u) | u follows v as a stop in some bus }
创建图表后,只需运行BFS - BFS找到的解决方案为guaranteed to be optimal。