数据结构之图的应用:关键路径

思维导图:

在这里插入图片描述

关键路径的定义:

在这里插入图片描述
在这里插入图片描述

ps:
顶点表示事件,边表示活动,权值表示活动的开销
某一顶点出边表示的含义: 只有当这个事件(顶点)结束时,才能开始活动(出边)
以V1为例,只有当V1事件结束时,才能同时执行a1和a2俩个活动
某一顶点入边表示的含义: 只有当所有的活动(所有的入边)结束时才能开始事件
以V4为例,只有当a3和a5俩个活动结束后,才能开始V4事件

步骤:

在这里插入图片描述

事件最早发生时间:(权值最大、出边)

在这里插入图片描述
ps:

1、以V1为源点,V6为汇点
2、计算V1到V6的最早发生时间,就需要计算V1分别到达V3、V4、V5的最早发生事件,然后分别加上a6、a7、a8的权重然后取最大值。
3、以此类推,求V5的最早发生时间就需要求V2的最早发生时间;求V4的最早发生时间就需要求V2和V3的 最早发生时间然后取最大
4、而各个节点求最早发生时间的顺序是按照拓扑排序的顺序来求的。

事件最迟发生时间:(权值最小、入边)

在这里插入图片描述
ps:
求最早发生时间的逆序过程
1、以V1为源点,V6为汇点
2、计算V6到V1的最迟发生时间,就需要计算V3、V4、V5的最早发生事件,然后分别减去a6、a7、a8的权重然后取最小值。
3、以此类推,求V5的最迟发生时间就需要求V2的最迟发生时间;求V4的最迟发生时间就需要求V2和V3的 最迟发生时间然后取最小
4、而各个节点求最早发生时间的顺序是按照拓扑排序的顺序来求的。

活动ai的最早开始时间:

在这里插入图片描述
ps: 即该边(活动)弧尾对应事件的最早开始时间
以a8为例,a8的最早开始时间就是事件V5的最早开始时间,即e[8] = 6

活动ai的最迟开始时间:

在这里插入图片描述
ps: 即该边(活动)弧头对应事件 - ai的权值
以a7为例,a7的最迟开始时间就是V6的最早开始时间 - a7,即l[7] = 6

活动ai的差额:

在这里插入图片描述
d(i)为0即说明它为关键路径,所以这个有向图的关键路径为a2 -> a5 -> a7
要对整个工程进行优化,就需要对关键路径进行优化

例:

在这里插入图片描述
ps: 在强调一下

Ve(i): 事件的最早发生时间:从V1开始,拓扑排序,取最大
Vl(i): 事件的最迟发生时间:从V6开始,V4 = V6 - a7,取最小
e(i): 活动的最早发生时间:弧尾对应事件的最早开始时间
l(i): 活动的最迟发生时间:弧头对应事件最迟开始时间 - ai的权值,l(1) = V2 - a1 = 9
d(i): 活动的差额:活动的最迟发生时间 - 活动的最早发生时间

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值