- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学课件课件PPT医学培训课件教育资源教材讲义
1 31 Status CriticalPath(ALGraph G) { // 算法7.14 G为有向网,输出G的各项关键活动 if(!TopologicalOrder(G,T)) return ERROR; vl[0..G.vexnum-1]=ve[G.vexnum-1];//初始化为汇点开始时间 while(!StackEmpty(T))//按拓扑逆序求各顶点的vl值 for(Pop(T,j),p=G.vertices[j].firstarc;p;p=p-nextarc) { k=p-adjvex;dut=*(p-info);//dutj,k if(vl[k]-dutvl[j]) vl[j]=vl[k]-dut;} for(j=0;jG.vexnum;++j) // 求ee,el和关键活动 for(p=G.vertices[j].firstarc;p;p=p-nextarc){ k=p-adjvex;dut=*(p-info); ee=ve[j];el=vl[k]-dut; tag=(ee==el)?*:; printf(j,k,dut,ee,el,tag);//输出关键活动 } } 32 v2 v1 v3 v4 v5 v8 v6 v7 v9 a1=6 a4=1 a7=9 a10=2 a11=4 a8=7 a9=4 a5=1 a6=2 a3=5 a2=4 33 7.6 最短路径 问题的提法: 给定一个带权有向图G与源点v,求从v到G中其它顶点的最短路径。限定各边上的权值大于或等于0。 例如,给定了n个城市以及这些城市之间的相通公路的距离,能否找到城市A到城市B之间一条距离最近的通路?这个问题可归结为在网图中,求点A到点B的所有路径中,边的权值之和最短的那一条路径。这条路径就是两点之间的最短路径,并称路径上的第一个顶点为源点,最后一个顶点为终点。在非网图中,最短路径是指两点之间经历的边数最少的路径。 34 7.6.1 从某个源点到其余各顶点的最短路径 给定带权有向图G和源点v,求从v到G中其余各顶点的最短路径 例:求v0到其余顶点的最短路径 V1 V3 V2 V5 V4 60 100 V0 20 30 10 50 10 5 源点 终点 最短路径 路径长度 V0 V1 无 V2 (V0,V2) 10 V3 (V0,V4,V3) 50 V4 (V0,V4) 30 V5 (V0,V4,V3,V5) 60 35 1972年图灵奖获得者,因最早指出“goto是有害的”以及首创结构化程序设计而闻名于世 1956年,成功地设计并实现了在有障碍物的两个地点之间找出一条最短路径的高效算法,解决了机器人学中的运动路径规划问题。其算法的基本思想是: 迪杰斯特拉(Dijkstra)算法 按路径长度的递增次序,逐步产生最短路径。首先求出长度最短的一条最短路径,再参照它求出长度次短的一条最短路径,依次类推,直到从顶点v到其它各顶点的最短路径全部求出为止。 36 V1 V3 V2 V5 V4 60 100 V0 20 30 10 50 10 5 引入一个辅助数组D。它的每一个分量D[i]表示当前找到的从源点v0到终点vi 的最短路径的长度。初始状态:若从源点v0到顶点vi有边,则D[i]为该边上的权值;若从源点v0到顶点vi 没有边,则D[i]为+? 。 长度为D[j]=Min{D[i]| vi∈V}的路径是从v0出发的长度最短的一条路径。 假设 S 是已求得的最短路径的终点的集合,则可证明:下一条最短路径必然是从v0 出发,中间只经过S中的顶点便可到达的那些顶点vx (vx ?V-S )的路径中的一条。 每次求得一条最短路径之后,其终点vk 加入集合S,然后对所有的vi ?V-S,修改其D[i]值。 集合 V-S 集合 S vk v vi 37 1、初始化: S ← { v0 }; D[i] ← arcs[0][i], vi ∈V; 2、求出最短路径的长度: D[j] ← min{ D[i] }, vi ? V- S ; S ← S ∪ { j }; 3、修改: D[i] ← min{ D[i], D[j] + arcs[j][i] }, 对于每一个 i ? V- S ; 4、判断: 若S = V, 则算法结束,否则转2。 Di
您可能关注的文档
最近下载
- 低压作业实操科目三安全隐患图片题库(10页).pdf VIP
- 2024年广西国际商务职业技术学院单招职业适应性测试试题及答案解析.docx VIP
- 2024年广西机电职业技术学院单招职业适应性测试试题及答案解析.docx VIP
- 2024-2025学年上海市杨浦区九年级上学期期中考试数学试卷含详解.docx VIP
- 出院患者随访话术培训.pptx VIP
- 2024年江西机电职业技术学院单招职业适应性测试试题及答案解析.docx VIP
- 2024年广西理工职业技术学院单招职业适应性测试试题及答案解析.docx VIP
- 中国地理空白图(政区、分省轮廓、地形铁路空白图.doc VIP
- 2025至2030中国智慧停车系统行业城市级平台建设及运营维护分析研究报告.docx
- 单基因遗传病.pptx VIP
原创力文档


文档评论(0)