从源头到目的地的最短旅程时间

时间:2016-03-23 10:19:54

标签: algorithm graph-algorithm

考虑一个站点列表,比如10个站点,“A”到“J”,通过它们之间运行的列车连接。

  

在图表方面,考虑站点(顶点)和列车运行   他们之间(边缘)形成连接图但不完整,即   每个电台都可以直接或通过任何电台到达   制作啤酒花的其他车站。最重要的是,这些啤酒花包括   在到达和下次出发之间等待。可以理解的是,   两个连接站之间的行程时间是独立的。然而,   下次出发的等待时间取决于你来自哪里。

     

注意:我仅提及图表以帮助理解。人们可以超越它思考。

问题:鉴于任何两个站点和从初始站点开始的时间,如何找到到达目的地的最短时间,计算在跳跃的情况下到达和离开之间的等待时间?什么DS将用于相同的?假设如果两个车站通过火车相连,则只有一列火车在它们之间运行。

1 个答案:

答案 0 :(得分:0)

毕竟恕我直言Dijkstra应该足够了。

如果您从节点“A”运行Dijkstra,它会找到到所有其他节点的最短路径。

即使我们有“跳”,最糟糕的情况是你早点到达某个站,然后你必须等到同一列火车,好像你稍后到达其他路线一样。

唯一的区别是,您将价格视为“等待时间+旅行时间”,而不仅仅是“旅行时间”

这种行为是由列车真正“到达/离开”造成的。

如果每个节点组合A1中的每个A2节点的每个路由 - > A2 - > A3从A1到A3到A2都会受到随机惩罚,那么我认为这是不可预测的。