持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第18天,点击查看活动详情
关键路径
思路
AOV网:顶点表示活动的网络,且每个活动是有前驱和后继关系存在的。(拓扑排序针对的图是有向无环图)拓扑排序是选择一个入度为0的开始。如下的拓扑排序1-2-4-3-5
AOE网:用边表示活动的网络,顶点表示事件,有向边表示活动,边上的权值表示完成活动需要的时间。
关键路径:从开始节点到到各个顶点所有路径中,最大路径长度的路径是关键路径(一般简单的图可以直接看出来那些是关键路径,但是复杂的就需要进行计算了)
求关键路径过程中会涉及事件(顶点)Vi最早发生时间和最迟发生时间;活动(边)最早发生时间和最迟发生时间。
1.活动ai最早开始时间 看活动ai起点(弧尾)指的地方 最早发生的时间。如a3最早时间看顶点2最早开始时间。
- 活动ai的最晚开始时间,看活动ai终点(弧头)最晚发生的时间,例如a1,要看顶点2最晚开始时间
所以在求关键路径是,把每个节点(事件)的最早和最晚发生时间算出,去计算活动最早和最晚发生时间进而可以求出关键路径。(把每个节点最早和最晚时间算出可以简化很多!)
如图为各个顶点的最早最晚发生时间:
结合图计算出各个活动最早和最晚发生的时间
关键路径上的节点:1,3,4,6
举例:
a1,a2最早开始时间看1节点最早时间,a3最早开始时间看2最早开始时间....a7看节点4最早时间
a1看节点2最迟发生时间是4,4-3=1,a2看节点3最迟发生时间2-2=0.....a7看节点6最迟发生时间8-2=6
关键路径为a2->a5->a7