数据结构第18次课 图D.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构第18次课 图D

7.4 图的运算 1. 问题引入 2. 图的关键路径问题转化与求解方法 Ve(j)——表示事件Vj的最早完成时间 Vl(j) ——表示事件Vj的最迟完成时间 求关键路径的方法: 求Ve(i)和求Vl(j) 求e(i)和l(i) 找l(i)=e(i)的关键活动构成关键路径 * 数据结构 计算机与信息学院 刘勇 * 数据结构 每课一贴: 在动物园里的小骆驼问妈妈:“妈妈妈妈,为什么我们的睫毛那么地长?”骆驼妈妈说:“当风沙来的时候,长长的睫毛可以让我们在风暴中都能看得到方向。”小骆驼又问:“妈妈妈妈,为什么我们的背那么驼,丑死了!”骆驼妈妈说:“这个叫驼峰,可以帮我们储存大量的水和养分,让我们能在沙漠里耐受十几天的无水无食条件。”小骆驼又问:“妈妈妈妈,为什么我们的脚掌那么厚?”骆驼妈妈说:“那可以让我们重重的身子不至于陷在软软的沙子里,便于长景涉啊。”小骆驼高兴坏了:“哗,原来我们这么有用啊!可是妈妈,为什么我们还在动物园里,不去沙漠远足呢?”天生我才必有用,可惜现在没人用。一个好的心态+一本成功的教材+一个无限的舞台=成功。每人的潜能是无限的,关键是要找到一个能充分发挥潜能的舞台。 1. 求图的生成树 2. 求最小生成树 3. 拓扑排序 4. 求关键路径 5. 求关节点和重连通分量(略) 6. 求最短路径 实际工程问题共性:合理安排工程活动,确保工程按期完成。 核心问题: (1)完成整个工程至少需要多少时间? (2)工程中哪些活动是影响进度的关键活动? 例如:国家体育场鸟巢建设(2003.12-2008.6) 地基、水路电路建设、主体钢结构建设、场地建设、环境建设、信息平台与安保系统建设…. 总工程师该如何规划呢? - 工程计划图 7.4 图的关键路径 10:30某人想自己动手做顿饭吃,下图是他的行动规划图: 问题:(1)做好饭至少需要多少时间? (2)哪些活动是影响吃饭时间的关键活动? 简化的日常生活问题规划图 9 8 7 6 4 5 3 2 1 a1=6 a2=4 a3=5 a4=1 a5=1 a6=2 a7=9 a8=7 a9=4 a10=2 a11=4 结点表示事件(局部进度完成的标记) 有向边表示活动 边的权值表示活动持续时间 起始结点之间的边构成路径 工程计划的有向图表示方法-带权有向图: 图的关键路径问题 (1)至少工程需要多少时间? (2)工程中哪些活动是影响进度的关键活动? 关键路径——起点到终点路径长度最长的路径。 (1) 问题转化 关键活动的描述方式 e(i) ——表示活动ai的最早开始时间 l(i) ——表示活动ai的最迟开始时间 l(i)-e(i)——表示完成活动ai的时间余量 j k ai 如何找求活动的e(i)和l(i) ? 图的关键路径问题 (1) 问题转化 事件的描述方式 设活动ai用弧j,k表示,其持续时间记为:dut(j,k) 则有:(1)e(i)=Ve(j) (2)l(i)=Vl(k)-dut(j,k) j k ai (1) 问题转化 如何找活动的e(i)和l(i)? 如何求事件的最早和最迟完成时间? e(i)=Ve(j) l(i)=Vl(k)-dut(j,k) 求关键路径问题的转化 关键路径→关键活动 求e(i) 和 l(i) 求Ve(i)和求Vl(j) (2) 问题求解思路 j i1 i2 i3 8 4 3 3 5 7 Ve(j) 和 Vl(k) 的求解方法 (1) 从Ve(1)=0开始向后递推 j i1 i2 i3 ai1 ai2 ai3 Ve(j)=11 i j1 j2 j3 8 4 2 15 13 10 (2) 从Vl(n)=Ve(n)开始向前递推 i j1 j2 j3 aj1 aj2 aj3 Vl(i)=7 V1 V2 V3 V4 V5 V6 V7 V8 V9 顶点 Ve Vl 0 6 4 5 7 7 16 14 18 0 6 6 8 7 10 16 14 18 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 活动 e l l-e ? ? ? ? ? ? 0 0 0 0 2 2 6 6 0 4 6 2 5 8 3 7 7 0 7 7 0 7 10 3 16 16 0 14 14 0 0 3 3 e(i)=Ve(j) l(i)=Vl(k)-dut(j,k) j k ai 9 8 7 6 4 5 3 2 1 a2=4 a3=5 a5=1 a6=2 a9=4 a1=6 a4=1 a7=9 a8=7 a10=2 a11=4 关键路径

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档