数据结构之关键路径(邻接表):详细阐述每一步

关键路径

与AOV-网相对应的时AOE-网即边表示活动的网。AOE-网时一个带权的有向无环图,其中顶点表示事件,弧表示活动,权表示活动的时间。通常,AOE-网可用来估算工程的完成时间。

如图:一个AOE-网

由于在AOE-网中只有一个开始点和一个完成点,故在正常的情况下(无环)下,网中只有一个入度为零的顶点和一个出度为零的顶点。

接下来进入正题,神魔是关键路径:路径最长的路径叫关键路径。假设开始点是v1,从v1到vi的最长路径称为事件vi最早发生时间,这个时间决定了所有以vi为尾的弧所表示的活动的最早开始时间。我们用e(i)表示活动ai的最早开始时间,还可以定义一个最迟开始时间了l(i),这是工程不延期的情况下,活动ai必须进行的时间。两者之间的差值l(i)-e(i)意味着完成活动的时间余量我们把这种相等关系的活动叫做关键活动。

显然,关键路径上的所有活动都叫关键活动,因此,提前完成非关键活动并不能加快工程的进度。

由以上分析可知,辨别关键活动就是要找e(i)=l(i)的活动,为了求得AOE-网中活动的e(i)和l(i),首先应求得时间最早发生时间ve(i)和最迟发生时间vl(i)。如果活动ai有弧<j,k>表示,其持续时间记为dut(<j,k>),则关系如下:

e(i)=ve(i)

l(i)=vl(k)-dut(<j,k>)

求ve(j)和vl(j)需要分两步进行:

(1)从ve(0)=0开始向前递推

   ve(j)=Max{ve(j) + dut(<i,j>)}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值