- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17讲图的应用资料
第17讲 图的应用 主讲人:陈红丽 主要内容 图的应用 关键路径 最短路径 首先计算以下与关键活动有关的量: 求解下图的关键路径(写出详细过程) 求关键路径步骤 求Ve(i) 求Vl(i) 求e(k) 求l(k) 最短路径 单源最短路径问题 弗洛伊德算法的基本思想 对于从vi到vj的弧,进行n次试探:首先考虑路径vi,v0,vj是否存在,如果存在,则比较vi,vj和vi,v0,vj的路径长度,取较短者为从vi到vj的中间顶点的序号不大于0的最短路径。在路径上再增加一个顶点v1,依此类推,在经过n次比较后,最后求得的必是从顶点vi到顶点vj的最短路径。 练习:已知如图所示的AOE网,试求: 每个事件的最早发生时间和最晚发生时间; 每个活动的最早开始时间和最晚开始时间; 给出关键活动。 第七章 图 *课上不吃早点、不玩手机、不睡觉 * 数据结构 知识点回顾 图的应用 最小生成树 拓扑排序 对工程,人们至少关心如下两类问题: 工程能否顺利进行,即工程流程是否“合理” 通常用AOV网表示工程流程,进行拓扑排序 完成整项工程必须的最短时间,哪些子工程是影响工程进度的关键子工程 为计算完成整个工程至少需要多少时间,需将每一子工程所需的时间作为权值赋给图的各边,通常用AOE网表示工程 AOE网(Activity On Edge net ) 在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,边上的权值表示活动的持续时间,称这样的有向图叫做边表示活动的网(AOE)。 V3 V1 V4 V6 V5 V2 a4=3 a1=3 a2=2 a6=3 a5=4 a3=2 a7=2 a8=1 顶点表示事件 弧表示活动 源点: 开始事件(入度为0) 汇点: 结束事件(出度为0) AOE网的性质: ⑴ 只有在某顶点所代表的事件发生后,从该顶点出发的各活动才能开始; ⑵ 只有在进入某顶点的各活动都结束,该顶点所代表的事件才能发生。 V3 V1 V4 V6 V5 V2 a4=3 a1=3 a2=2 a6=3 a5=4 a3=2 a7=2 a8=1 事件 事件含义 v1 v2 v3 … v6 开工 活动a1完成,活动a3、a4可以开始 活动a2完成,活动a5和a6 可以开始 ……… 活动a6 、a7 和a8完成,整个工程完成 事件Vj发生 表示 ak已结束 ak Vj Vi 事件Vi发生 表示 ak可以开始 路径长度:路径上各活动持续时间之和。 关键路径:在AOE网中,从始点到终点路径长度最大的路径。 关键路径长度是完成工程的最短工期。要找出关键路径,必须找出关键活动, 即不按期完成就会影响整个工程完成的活动。 关键活动:关键路径上的活动。 V3 V1 V4 V6 V5 V2 a4=3 a1=3 a2=2 a6=3 a5=4 a3=2 a7=2 a8=1 回答下列问题: 1. 完成整个工程至少需要多少时间? 2. 为缩短完成工程所需的时间,应当加快哪些活动? 取决于从始点到终点的最长路径长度 ⑴ 事件的最早发生时间ve[i] ⑵ 事件的最迟发生时间vl[i] ⑶ 活动的最早开始时间e[k] ⑷ 活动的最晚开始时间l[k] 活动是关键活动的充要条件 :l(k)= =e(k) ak vj vi 设活动ak用弧vi,vj表示ak持续时间为:dut(vi,vj) ve[i]是指从始点开始到顶点vi的最大路径长度。这个长度决定了所有从顶点vi发出的活动能够开工的最早时间。 ve[1]=0 ve[j]=max{ve[i]+dut(vi, vj)} (vi, vj∈p[j]) p[j]表示所有到达vj的有向边的集合 ⑴ 事件的最早发生时间ve[i] Ve[i]计算次序:为保证Vi所有前驱事件的最早发生时间已经求出,必须按拓扑序列的次序,依次计算 活动是关键活动的充要条件 : V3 V1 V4 V6 V5 V2 a4=3 a1=3 a2=2 a6=3 a5=4 a3=2 a7=2 a8=1 ve[1]= ve[2]= ve[5]= ve[3]= ve[4]= ve[6]= 0 3 6 2 6 8 vi vj vl[i]是指在不推迟整个工期的前提下,事件vi允许的最晚发生时间。 ⑵ 事件的最迟发生时间vl[i] vj vi vl[n]
文档评论(0)