- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
郭辉各-Dijkstra算法
最短路经问题(Dijkstra算法) 核心思想:按路径递增的次序产生最短路径的算法 1)找到图中最短的路径,设为(v,vj),将j设为已标号的点 2)找下一条次短的路径,假设终点为k,将k设为已标号的点,那么要么是(v,vk)要么是(v,vj,vk),若经过vj ,将j设为已检查的点,放入集合. 3)以次短路径出发找第三短的路径,类似第二步的方法. 4)按上述方法一直到所有的顶点被检查过,则从v到其他顶点的最短路径求出. 典型例题:Transport Goods A国现在爆发了战争,现在急需从多个城市运输货物到首都去,在路上货物将有损耗率,当然损耗率是小于1的.一个城市只能运输它的货物到与之相连的另一个城市中去。你的任务在于找出最多能运输多少货物到首都去。【输入数据】: 首先给出N和M。其中2=N=100,它代表城市的个数,首都是第N个城市。M代表有多少条道路.接下来N-1行代表从第一个城市到第N-1城市这些城市本身有多少货物。这个值小于5000接下来M行代表城市相连的情况及损耗率 【输出数据】: 最多可以运输多少货物到首都去. 【样例输入】 5 6101010101 3 01 4 02 3 02 4 03 5 04 5 0 【样例输出】 40.00 【样例输入】 5 6101010101 3 01 4 02 3 02 4 03 5 04 5 0 【样例输出】 40.00 分析:这个题是按多个城市的货物运到首都去,因为我们可以用单源最短路径的算法,求出每个城市到首都的最短路径,由于从某个城市到首都可能经过多个点,货物的最终运输率,等于经过的边的运输率的乘积,因而这里的最短路径其实是求最大的货物有效运输效率。因此在读入数据的时候,将损耗率转成有效运输效率。 const MaxN = 100; var a : array[1..MaxN,1..MaxN] of double; w : array[1..MaxN] of integer; d : array[1..MaxN] of double; v : array[1..MaxN] of boolean; i,j,k,n,m : integer; max,r,ans : double; begin fillchar(a,sizeof(a),0); fillchar(w,sizeof(w),0); readln(n,m); for i := 1 to n - 1 do readln(w[i]); for i := 1 to m do begin readln(j,k,r); a[j,k] := 1 - r; a[k,j] := a[j,k]; end; fillchar(d,sizeof(d),0); fillchar(v,sizeof(v),0); for i := 1 to n - 1 do d[i] := a[i,n]; d[n] := 1; v[n] := true; for i := 1 to n - 1 do begin max := 0; k := 0; for j := 1 to n do if (not v[j]) and (d[j] max) then {找一个最大的有效运输率} begin max := d[j]; k := j; end; v[k] := true; for j := 1 to n do if (not v[j]) and (d[k] * a[k,j] d[j]) then d[j] := d[k] * a[k,j]; end; ans := 0; for i := 1 to n - 1 do ans := ans + w[i] * d[i]; writeln(ans : 0 : 2); end. 典型例题:最佳路线 塞内加尔是非洲的一个小国家,你也许很难在世界地图上找到它,甚至你有可能从未听说过它--它实在是个太小、太贫
您可能关注的文档
- 质量通病与预防(石材工程)2009.doc
- 货运险电子商务系统(e-Cargo)客户端操作手册V2.0(全国).doc
- 责任险电子商务系统(e-Travel)业管端操作手册V1.0.doc
- 购房案例分析.ppt
- 货运险电子商务系统(e-Cargo)用户管理应用指南V2.0(全国).doc
- 贵州五洲购物广场厂家促销员进场程序.pdf
- 货运险电子商务系统(e-Cargo)管理端操作手册V2.0(全国).doc
- 贵州凌云商贸购销协议书(凌云).pdf
- 贵州中X机械设备有限公司人力资源部工作计划书(PPT 41页).pptx
- 资产报废ZJ05.ppt
- 2024年中国压电声学器件市场调查研究报告.docx
- 2010-2023历年江苏省徐州市一中年高二期末测试.docx
- 2024年中国酒店一次性用品套装市场调查研究报告.docx
- 2010-2023历年江苏省沭阳银河学校高三上学期开学初学情调研生物试卷(带解析).docx
- 2010-2023历年江苏省兴化市九年级上学期期末调研考试政治试卷(带解析).docx
- 2024至2030年中国麻黄行业投资前景及策略咨询研究报告.docx
- 2024年中国双管喷嘴市场调查研究报告.docx
- 2024年中国流动吧台售货系统市场调查研究报告.docx
- 2010-2023历年江苏省南京市秦淮区八年级第一学期期末考试英语试卷(带解析).docx
- 2010-2023历年江苏省南京市高三学情调研历史试卷(带解析).docx
文档评论(0)