拓扑排序,关键路径及最短路径

拓扑排序:

作用:判断有向图是否有
做法:1:在有向图中选取一个没有前驱(没有弧头指向的)的顶点且输出之
2:从图中删除该顶点和所有以他为尾的弧
3:重复以上步骤,直到所有顶点已经输出,或者不存在没有前驱的顶点(此情况为有环)
时间复杂度:O(n+e) n为顶点数,e为边数
拓扑排序,关键路径及最短路径_第1张图片

关键路径:

路径长度最长的路径为关键路径 目的:辨别哪些是关键活动
为什么是最长是关键呢?依我愚见,因为关键子工程要花最多时间,就算其他子工程就算完工了也无用,还要等这些时间花得比较多的子工程。

最短路径

1:求某个源点到其余各个顶点的最短路径:DijKstra法,按路径长度递增的次序产生的路径,边的权值不能为时间复杂度O(n^2)
2:求各个顶点间的最短路径,Floyd法,允许边的权值为负,,但是不允许在有向回路中出现负值, 时间复杂度O(n^3)

你可能感兴趣的:(数据结构)