【发布时间】:2019-04-20 19:23:08
【问题描述】:
我正在尝试解决代表 Metro Service 的 双向加权 图中的问题,该图中有大约 300 个节点和 700 条边。
节点由地铁站定义,边是字符串,其中包含它们所属线路的信息以及在该边上行驶所需的时间(即边的权重)。
我必须确定 2 个站点之间的最快路径,给定一个 无序 列表(如果它们是有序的,那么所有站点之间最短路径的排列就足够了)强制性站点,它可以还要经过其他车站
在我搜索了这个问题之后,我看到了一些创建子图 + 应用 DFS 的建议。所以我创建了一个以起点站 + 强制站 + 终点站作为新顶点的图,边上有每个站之间的最短路径信息 + 行驶时间。
我现在遇到的问题如下:如何在这个新的子图上应用 DFS,使最后访问的站点强制成为我作为目的地的站点?
抱歉问题太长了!
【问题讨论】:
-
图会包含循环吗?
-
不,否则会是 tsp,但我只想从 a 到 b,经过一些中间需要的车站
标签: java algorithm search shortest-path dijkstra