1、基本算法
我们知道DAG上一定存在拓扑排序,且若在有向图G中从顶点Vi->Vj有一条路径,则在拓扑排序中顶点Vi一定在顶点Vj之前,而因为在DAG图中没有环,所以按照DAG图的拓扑排序进行序列最短路径的更新,一定能求出最短路径。
2、基本步骤
处理顶点V时,对每条离开的边<v,u>执行松弛运算,若果<v,u>给出从源点到u的一条最短路径(经过v),则更新到u的最短路径。这个过程将检查图中每个顶点的所有路径,同时,拓扑排序确保按正确的顺序处理顶点。
4、注意事项
图必须是DAG(有向无环图),跟差分约束类似,对于多源点向单源点转化时新加入的节点可以通过特殊的预处理老