最短路算法和其应用.docVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最短路算法及其应用 广东北江中学 余远铭 【摘要】 最短路问题是图论中的核心问题之一,它是许多更深层算法的基础。同时,该问题有着大量的生产实际的背景。不少问题从表面上看与最短路问题没有什么关系,却也可以归结为最短路问题。本文较详尽地介绍了相关的基本概念、常用算法及其适用范围,并对其应用做出了举例说明,侧重于模型的建立、思考和证明的过程,最后作出总结。 【关键字】 最短路 【目录】 TOC \o 1-3 \h HYPERLINK \l _Toc22204一、基本概念 PAGEREF _Toc22204 2 HYPERLINK \l _Toc46741.1 定义 PAGEREF _Toc4674 2 HYPERLINK \l _Toc325551.2简单变体 PAGEREF _Toc32555 2 HYPERLINK \l _Toc68951.3负权边 PAGEREF _Toc6895 3 HYPERLINK \l _Toc75151.4重要性质及松弛技术 PAGEREF _Toc7515 4 HYPERLINK \l _Toc23906二、常用算法 PAGEREF _Toc23906 5 HYPERLINK \l _Toc118062.1 Dijkstra算法 PAGEREF _Toc11806 5 HYPERLINK \l _Toc54742.2 Bellman-Ford算法 PAGEREF _Toc5474 7 HYPERLINK \l _Toc285072.3 SPFA算法 PAGEREF _Toc28507 8 HYPERLINK \l _Toc7571三、应用举例 PAGEREF _Toc7571 10 HYPERLINK \l _Toc236023.1 例题1——货币兑换 PAGEREF _Toc23602 10 HYPERLINK \l _Toc29333.2 例题2——双调路径 PAGEREF _Toc2933 11 HYPERLINK \l _Toc101053.3 例题3——Layout PAGEREF _Toc10105 13 HYPERLINK \l _Toc216223.4 例题4——网络提速 PAGEREF _Toc21622 15 HYPERLINK \l _Toc3858四、总结 PAGEREF _Toc3858 18 【正文】 一、基本概念 1.1 定义 乘汽车旅行的人总希望找出到目的地尽可能短的行程。如果有一张地图并在地图上标出了每对十字路口之间的距离,如何找出这一最短行程? 一种可能的方法是枚举出所有路径,并计算出每条路径的长度,然后选择最短的一条。然而我们很容易看到,即使不考虑含回路的路径,依然存在数以百万计的行车路线,而其中绝大多数是没必要考虑的。 下面我们将阐明如何有效地解决这类问题。在最短路问题中,给出的是一有向加权图G=(V,E),在其上定义的加权函数W:ER为从边到实型权值的映射。路径P=(v0, v1,……, vk)的权是指其组成边的所有权值之和: 定义u到v间最短路径的权为 从结点u到结点v的最短路径定义为权的任何路径。 在乘车旅行的例子中,我们可以把公路地图模型化为一个图:结点表示路口,边表示连接两个路口的公路,边权表示公路的长度。我们的目标是从起点出发找一条到达目的地的最短路径。 边的权常被解释为一种度量方法,而不仅仅是距离。它们常常被用来表示时间、金钱、罚款、损失或任何其他沿路径线性积累的数量形式。 1.2简单变体 单目标最短路径问题: 找出从每一结点v到某指定结点u的一条最短路径。把图中的每条边反向,我们就可以把这一问题转化为单源最短路径问题。 单对结点间的最短路径问题:对于某给定结点u和v,找出从u到v的一条最短路径。如果我们解决了源结点为u的单源问题,则这一问题也就获得了解决。对于该问题的最坏情况,从渐进意义上看,目前还未发现比最好的单源算法更快的方法。 每对结点间的最短路径问题:对于每对结点u和v,找出从u到v的最短路径。我们可以用单源算法对每个结点作为源点运行一次就可以解决问题。 1.3负权边 在某些单源最短路问题中,可能存在权为负的边。如果图G(V,E)不包含由源s可达的负权回路,则对所有,最短路径的权的定义依然正确。即使它是一个负值也是如此。但如果存在一从s可达的负权回路,最短路径的定义就不能成立了。从s到该回路上的结点不存在最短路径——因为我们总可以顺着找出的“最短”路径再穿过负权回路从而获得一权值更小的路径,因此如果从s到v的某路径中存在一负权回路,我们定义。 图1 含有负权和负权回路的图 图1说明负的权值对最短路径的权的影响。每个结点内的数字是从源点s到该结点的最短路径的权。因为从s到a只存在一条路径(路径s,a),所以:。 类似地,从s

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档