吉林大学数据结构_关键路径.pptx

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
吉林大学数据结构_关键路径

关键路径;在上节介绍的AOV网中,顶点表示任务,有向边表示任务之间的先后关系。在实际应用中,除了执行次序的先后关系外,通常还具有更为严格的时间约束,我们用AOE网(Activity On Edge network) 表示多个活动之间的时间约束关系。其中,有向边表示活动,边上的权值表示该活动所需要的时间。顶点表示它的入边的活动已经完成、它的出边的活动可以开始的一种状态,也称之为一个事件。由于整个工程通常只有一个开始点和一个完成点,所以在正常情况(无环)下,网中只有一个入度为零的点称为源点,一个出度为零的点称为汇点。 ;AOE网可以使人们了解: ①完成整个工程至少需要多少时间; ②为缩短完成工程所需要的时间,应当加快哪些活动; ③为了不延误整个工程,哪些活动不得延期,哪些活动可以适当延期。 ;在AOE网中,有些活动可以并行进行,因此,完成整个工程的最短时间是从源点到汇点的最长路径长度(路径长度等于路径上各边的权之和,而不是路径上弧的数目)。这条具有最大长度的路径称为关键路径。;要找出关键路径,必须找出关键活动,即不按期完成就会影响整个工程完成的活动。 关键路径上的所有活动都是关键活动。 因此,只要找到了关键活动,就可以找到关键路径。 ;如何找关键活动?;关键活动有什么特点?;与活动相关的量;关键活动的特点;?;分析关键路径的目的是辨别在整个工程中哪些是关键活动,以便争取提高关键活动的功效,缩短整个工程的工期。因此,问题的关键是要找l(i)=e(i)的活动。 ;?;?;?;?;?;?;;?;?;?;(2) 计算vl(j)需从汇点Tn开始,自右向左逐个事件逆推计算,直到源点T1为止。其计算顺序是某个拓扑序列的逆序。 我们知道,对汇点Tn而言,其最早发生时间与最迟发生时间是一致的,因此 vl(n) = ve(n) 计算vl(j)的递推公式是: ;?;?;求关键活动的基本步骤;?;?;ai;算法CriticalPath () FOR i = 1 TO n DO ve [i] ?0. FOR i = 1 TO n–1 DO /*(1)按顶点的拓扑序列计算各事件的最早发生时间*/ ( p?adjacent(Head [i]) . WHILE p ≠null DO ( k ? VerAdj (p) . IF (ve [ i ] + cost (p) ve[k] ) THEN ve[k] ?ve[i] + cost (p) . p??link(p) ) ) ;CPath2[计算事件的最迟发生时间] FOR i = 1 TO n DO vl[i] ← ve[n] . FOR i = n–1 TO 1 STEP –1 DO /*(2)按拓扑逆序计算事件的最迟发生时间*/ ( p?adjacent (Head[i]) . WHILE p ≠null DO ( k?VerAdj(p) . IF (vl[k] – cost (p) vl[i] ) THEN vl[i] ?vl[k] – cost(p) . p?link(p) ) ) ;CPath3[求诸活动的最早开始时间和最迟开始时间] FOR i = 1 TO n DO ( p?adjacent (Head [i]) . WHILE p ≠null DO ( k?VerAdj (p) . e?ve[i] . l?vl[k] – cost(p) . IF l = e THEN PRINT i, k is Critical Activity! p?link(p) ) ) ? ;设AOE网中顶点的个数为n ,边的个数为e . 对顶点进行拓扑排序的时间复杂性为O(n+e) ,以拓扑序列求诸事件的最早发生时间ve(i)的时间复杂性为O(e) ,以拓扑逆序求诸事件的最迟发生时间vl(i)的时间复杂性为O(e) ,求诸活动的最早开始时间e( k )和最迟开始时间l( k )的时间复杂性为O(e) ,因此整个算法的时间复杂性是O(n+e). ;定理5.3 任意的非空AOE网至少存在一条关键路径。

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档