暑期集训乘公交看奥运B要点.pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  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文档。上传文档
查看更多
Dijkstra算法(标号算法,1959) STEP1. 如果S=V, 则uj为节点s到节点j的最短路路长(最短路可以通过数组pred所记录的信息反向追踪获得), 结束.否则继续. STEP0. (初始化) 令S= ,=V, ;对V 中的顶点j(j s)令初始距离标号 . STEP2. 从 中找到距离标号最小的节点i,把它从 删除,加入S. 对于所有从i出发的弧 , 若 ,则令 转STEP1. 特点:1. 算法求出从源点s到所有点的最短路长 2. 每点给一对标号 (uj, predj),uj是从s到j的最短路长;predj是从s到j的最短路中j点的前一点 数学与统计学院 费文龙 feiwl@126.com * Example 数学与统计学院 费文龙 feiwl@126.com * Dijkstra算法(标号设定算法) 适用于正费用网络:“分层”设定标号 永久标号:S中的点,uj是最短路长 临时标号;其他点, uj是只通过S中的点的最短路长 对于稠密网络,这是求解最短路问题可能达到的最小的复杂度,因为任何算法都至少必须对每条弧考虑一次. 对于稀疏网络,利用各种形式的堆(Heap),其复杂度可降为 或 等 算法复杂度O( n2+m):如链表或邻接矩阵实现 找最小标号点   修改标号 数学与统计学院 费文龙 feiwl@126.com *  特点:求所有点对间最短路  基本思想:逐步逼近,迭代求解最短路方程: O(n3) Floyd-Warshall算法 (标号修正算法,1962) 临时标号 是不通过k,k+1,…,n 节点(i,j 除外)时从节点i到节点j的最短路路长. 数学与统计学院 费文龙 feiwl@126.com * Floyd-Warshall算法的具体实现: O(n3) 由于要记录所有节点之间最短路的信息, 所以这里我们要用一个二维数组P; 可依据P, 采用“正向追踪”的方式得到最短路. STEP2:如果k=n, 结束; 否则转STEP1. STEP0: k=0. 对于所有节点i和j: 令 , , ( ,若节点i和j之间没有弧, 认为 ) . STEP1: k=k+1. 对于所有节点i和j: 若 , 令 , ; 否则令 , . 数学与统计学院 费文龙 feiwl@126.com * Floyd-Warshall算法的 矩阵迭代法实现:O(n4) 令D为权矩阵(直达最短路长) Dm为正好经过m条弧从i到j的最短路长 数学与统计学院 费文龙 feiwl@126.com * 问题1和2的一种具体建模方法(赋权) 在线路选择问题中,当从i可直达j时(同为公汽或地铁站点),定义弧(i,j);其上的权为 lij表示由i直达j付出的代价,可以为时间或费用 (不包括换乘代价;多条线路可达时只保留最小代价) 初始等车时间2(3)min也不包括在内,最后结果可加上 注意:D=D(0)不是对称矩阵(“直达矩阵”) dij(0)=dij 数学与统计学院 费文龙 feiwl@126.com * 问题1-2的一种具体建模方法 i站点是公汽站点,j站点为地铁站点: (1)若j站点对应的所有换乘(公汽)站点k,均不能从i直达(不在i站点所在公汽线路L上),则dij(0) =∞. (2)若j站点对应的换乘站点(k), 可从i站点直达k,则费用为dij(0) = dik(0);对于时间则需要加上k到j的步行时间. (若有多种选择,取最小成本者即可) i k j 数学与统计学院 费文龙 feiwl@126.com * 问题1-2的一种具体建模方法 j站点是公汽站点,i站点为地铁站点: (1)若从i站点对应的任何换乘(公汽)站点k,均不能直达j站点,则dij(0) =∞. (2)若从i站点对应的换乘(公汽)站点k,能直达j站点, 则费用为dij(0) = dkj(0);对于时间则需要加上i到k的步行时间. i k j 数学与统计学院 费文龙 feiwl@126.com * 问题1-

文档评论(0)

挺进公司 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档