图论

198 阅读2分钟

1、关键路径算法

假设这是一项工程,按照下图顺序执行。

最早施工时间则是最长路径,因为我只要等最晚的到了,我一定能施工,就像一堆朋友出去玩,等最晚的朋友【老王 】到了,大家才一起出发。

而最晚施工时间,则是,反正我只要和最晚的朋友【老王】一起到就好了,那么不会影响出发时间。

举个例子。 老王、秦始皇、罗辑、去中国玩耍。

0点大家从北京AA开始出发。最后到深圳G汇合

老王花3小时一个人去长沙A 3点到,再花4小时到重庆D和秦始皇汇合 7点到,再花1小时到深圳G 8点到

秦始皇和罗辑花2小时去了上海B 2点到,秦始皇花了2小时到重庆D和老王汇合 秦始皇4点到 老王7点到,再花1小时到深圳G 8点到

秦始皇和罗辑花2小时去了上海B 2点到,罗辑话两小时去深圳G 4点。

那么最早施工就是最早发车时间,长沙A老王3点到了就发车,则A3,上海B,两人2点到了发车则B2,重庆D要等 最晚到老王7点到,则D7。G则是最晚的老王秦始皇到则G 8点。

最晚施工时间则时,我只要等最晚到就好了。

长沙A 只有老王则A3 秦始皇可以再上海B多玩会,反正重庆D7点发车,那么我去重庆2小时,则我B5点出发也行。D有最晚的老王7点出发没办法。G也等最晚的老王8点。

那其实这一路都在等最晚的老王,则老王走过的地方都是关键节点.路径也是关键路径

image.png

aov网络拓扑排序

这好像就是广度优先算法

拓扑排序: AOV网:为了反映出整个工程中活动之间的领先关系,可以用一个有向图表示工程,图中的顶点代表活动,图中的有向边代表活动间的领先关系,则该图称作顶点活动网(Activity On Vertex netowrk,AOV网)拓扑排序定义: 是指求AOV网中各顶点的拓扑序列的运算,一个拓扑序列是AOV网中各顶点的线性序列,该序列满足: 若AOV网中有从顶点i到项点i的一条路径,则在该线性序列(拓扑序列)中,顶点i必然在顶点j之前 进行拓扑排序的实际意义: 若AOV网中所有顶点都在它的拓扑序列中,说明该网不存在有回路,整个工程可以顺利进行

image.png

image.png image.png

学习网站

Data Structure Visualization (usfca.edu)