首页 > 经过某一点的dijkstra

经过某一点的dijkstra

如题,是否存在两点之间必经某一给定点的最短路径的多项式时间内的解?如果存在请描述一下解法。


正常: A -> B : return dijkstra(A, B)

你的: A -> C -> B: return dijkstra(A, C) + dijkstra(C, B)

是不是你要的答案?

要想没有环路的话

A -> C 的路径标记一下或者删掉
再跑 C -> B

然后,相反的顺序再来一次

两者取最优


比如 A B C三个点,要求A->C经过B的最短路径, 求出A->B的最短路径再求出B->C的最短路径
不就是你想要的了?

【热门文章】
【热门文章】