最短路径之地铁换乘

来源:互联网 发布:黑色紧身裤淘宝 编辑:程序博客网 时间:2024/04/29 01:30

假设地铁行驶一站所需时间是3分钟,换乘需要额外的2分钟。

现在1号线有A,B两站。2号线有B,C两站。从A到C短路径是多长?


直接用站点做Vertex, 时间做Edge计算最短路径,不能统计换乘时间。


所以为B建立两个vertex, B1和B2。A与B1距离为3,B1到B2距离为2, B2到C距离为3。

同理如果是三站换乘,建三个结点,并加三条边,使它们全连通。

接下来用标准最短路径算法就行了 。

原创粉丝点击