对于有向无环图求单源最短路径,可以按照图中节点的拓扑顺序来求路径。
伪代码:
该算法的复杂度为O(V + E)。
该算法的正确性可由路径松弛原理证得:对于节点v,如果s->v存在最短路径(v0, v1, ..., vk),则只要保证路径被松弛的顺序为(v0, v1),(v1, v2),...,(vk-1, vk)。
求关键路径时,可以通过把边权值取负值来实现。
对于有向无环图求单源最短路径,可以按照图中节点的拓扑顺序来求路径。
伪代码:
该算法的复杂度为O(V + E)。
该算法的正确性可由路径松弛原理证得:对于节点v,如果s->v存在最短路径(v0, v1, ..., vk),则只要保证路径被松弛的顺序为(v0, v1),(v1, v2),...,(vk-1, vk)。
求关键路径时,可以通过把边权值取负值来实现。