所以我想制定一个程序来找到两个火车站之间的最短路径。你会建议什么是表示火车线路的最佳方式,它们相交并搜索到这一点?我目前的想法是邻接矩阵或列表但是,我不确定并非所有相邻点都被链接。
EG。 火车线路看起来像这样:
如果我想从Oval到Southwark,我会去:
答案 0 :(得分:1)
这是一个最短的路径问题。由于您对最短时间感兴趣,因此只需使用持续时间代替距离。 Dijkstra算法是解决这些类型问题的常用方法。它在互联网上有详细记录。如果您打算生成所有行程的时间表,那么您应该查看Floyd-Warshall算法,因为它可以为所有站点生成解决方案。
这两种方法都需要您将轨道系统建模为图形。边缘权重将是站点之间的行进时间。对于具有多行的工作站,您可以使用多个节点和边缘,它们之间的权重为4。
答案 1 :(得分:0)
这类似于旅行商问题,除了尝试所有可能的路径之外,没有已知的封闭解决方案。请注意,这些路径的数量随着站点的数量呈指数增长,因此计算速度非常快。
此外,你必须决定你是想要站之间的最短距离,还是它们之间的最短旅行时间。