欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年单源最短路径算法 .pdf

    • 资源ID:34276759       资源大小:59.60KB        全文页数:4页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年单源最短路径算法 .pdf

    设图 G=(V,E) 是一个有向图, 它的每一条边(U,V) 都有一个非负权W(U,V), 在 G中指定一个结点V0,要求从V0 到 G的每一个结点Vj 的最短路径找出来(或指出不存在)。由于源结点V0 是给定的,所谓称为单源最短路径。【Dijkstra算法思想】把所有结点分为两组。第一组:包含已确定最短路径的结点。第二组:包含尚未确定最短路径的结点。按最短路径长度递增的顺序把第二组的结点加到第一组中去,直到 V0 可达的所有结点都包含于第一组中。 在这个过程中, 总保持从V0 到第一组各结点的最短路径长度都不大于从V0 到第二组任何结点的路径长度。【单源最短路径算法实例】现有一张县城的城镇地图,图中的顶点为城镇,无向边代表两个城镇间的连通关系,边上的权为公路造价,县城所在的城镇为v0。由于该县经济比较落后,因此公路建设只能从县城开始规划。规划的要求是所有可到达县城的城镇必须建设一条通往县城的汽车线路,该线路的工程总造价必须最少。【输入】第一行一个整数v,代表城镇数,县城编号为1。 第二行是一个整数e,表示有向边数。以下 e 行,每行为两个城镇编号和它们之间的公路造价。【输出】 v-1行,每行为两个城市的序号,表明这两个城市间建一条公路。【输入样例】6 10 1 2 10 1 5 19 1 6 21 2 3 5 2 4 6 2 6 11 3 4 6 4 5 18 4 6 14 5 6 33 【输出样例】原图从第 1 点出发的最短路径名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 1 2 2 3 2 4 1 5 1 6 program dijkstra_example; const vmax=100; type path=record 此记录类型用于记录每一个结点与v0 的距离和其父结点 length:integer; pre:0.vmax; end; var w:array1.vmax,1.vmax of integer; dist:array1.vmax of path; v,e,u,i,j,x,y:integer; procedure init; begin assign(input,dijkstra.in); reset(input); assign(output,dijkstra.out); rewrite(output); readln(v); readln(e); for i:=1 to v do for j:=1 to v do if ij then wi,j:=maxint maxint只是一个较大的数的意思,实际应用于应该根据题目中给出的取值范围赋予一个充名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 分大的数 else wi,j:=0; for i:=1 to e do begin read(x,y); readln(wx,y); wy,x:=wx,y; end; end; procedure dijkstra(v0:integer); var min:integer; begin wv0,v0:=1; v0首先进入第一组 for i:=1 to v do begin disti.length:=wv0,i; 计算每个结点的距离值 if disti.lengthmaxint then disti.pre:=v0 如和 v0 直接有路,则置前驱结点为v0 else disti.pre:=0; end; repeat min:=maxint; u:=0; for i:=1 to v do 找最短距离 if (wi,i=0) and (disti.lengthmin) then begin u:=i; min:=disti.length; end; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - if u0 then begin wu,u:=1; for i:=1 to v do 重新计算其他结点的距离值 if (wi,i=0) and (disti.lengthdistu.length+wu,i) then begin disti.length:=distu.length+wu,i; disti.pre:=u; end; end; until u=0; end; begin init; v0:=1; dijkstra(v0); for i:=1 to v do begin if (iv0) and (disti.lengthmaxint) then write(disti.pre, ,i); end; close(input); close(output); end. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

    注意事项

    本文(2022年单源最短路径算法 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开