,W) ,W是一个函数,作用于边,生成一个实数,即W(E)->R
顶点到自身的路径:(
)表示从(
)到(
)的路径,权重是0
两个顶点之间的最短路径:
E与V的关系 E=O(
)。...d(v) 表示从源点s到当前节点v的路径权重 ,
表示当前最好的路径上,v的前一个节点 ,通过这种方式就能重构整个最短路径
针对没有负权重的环
初始化 d[v] =
,
=NIL,d[s]=0...Q={B(10),C(3),D(
),E(
)};
获取队列中的最小值,此时是C,S={A(0),C(3)},对选择的C做Relax,C能到达的节点为B,D,E,相应队列更新为:Q={B(7),D(11...,此时是B,此时S={A(0),C(3),E(5),B(7)},B能到达的只剩下D了,B到D得到的值为9,要小,更新Q={D(9)}
获取队列最小的值,此时是D,此时S={{A(0),C(3),E(5)...经过|V|-1轮循环之后,如果还有一条边能够Relax,那么当前从s到v的最短路径并不是简单路径,因为所有的节点都已经看过了,这时候肯定存在了重复的节点,也就是说存在一个负权重的环
如果对一个路径上有环