最短路径算法--Floyd算法.ppt

最短路径算法--Floyd算法.ppt

ID:56478788

大小:169.00 KB

页数:23页

时间:2020-06-19

最短路径算法--Floyd算法.ppt_第1页
最短路径算法--Floyd算法.ppt_第2页
最短路径算法--Floyd算法.ppt_第3页
最短路径算法--Floyd算法.ppt_第4页
最短路径算法--Floyd算法.ppt_第5页
资源描述:

《最短路径算法--Floyd算法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Floyd’sAlgorithmAllpairsshortestpath1AllpairsshortestpathTheproblem:findtheshortestpathbetweeneverypairofverticesofagraphThegraph:maycontainnegativeedgesbutnonegativecyclesArepresentation:aweightmatrixwhere W(i,j)=0ifi=j. W(i,j)=¥ifthereisnoedgebetweeniandj. W(i

2、,j)=“weightofedge”Note:wehaveshownprincipleofoptimalityappliestoshortestpathproblems2Theweightmatrixandthegraphv1v2v3v4v532241319353ThesubproblemsHowcanwedefinetheshortestdistancedi,jintermsof“smaller”problems?Onewayistorestrictthepathstoonlyincludeverticesfroma

3、restrictedsubset.Initially,thesubsetisempty.Then,itisincrementallyincreaseduntilitincludesallthevertices.4ThesubproblemsLetD(k)[i,j]=weightofashortestpathfromvitovjusingonlyverticesfrom{v1,v2,…,vk}asintermediateverticesinthepathD(0)=WD(n)=DwhichisthegoalmatrixHo

4、wdowecomputeD(k)fromD(k-1)?5TheRecursiveDefinition:Case1:Ashortestpathfromvitovjrestrictedtousingonlyverticesfrom{v1,v2,…,vk}asintermediateverticesdoesnotusevk.ThenD(k)[i,j]=D(k-1)[i,j].Case2:Ashortestpathfromvitovjrestrictedtousingonlyverticesfrom{v1,v2,…,vk}as

5、intermediateverticesdoesusevk.ThenD(k)[i,j]=D(k-1)[i,k]+D(k-1)[k,j].ViVjVkShortestPathusingintermediatevertices{V1,...Vk-1}Shortestpathusingintermediatevertices {V1,...Vk}6TherecursivedefinitionSinceD(k)[i,j]=D(k-1)[i,j]orD(k)[i,j]=D(k-1)[i,k]+D(k-1)[k,j]. Wecon

6、clude:D(k)[i,j]=min{D(k-1)[i,j],D(k-1)[i,k]+D(k-1)[k,j]}.ViVjVkShortestPathusingintermediatevertices{V1,...Vk-1}Shortestpathusingintermediatevertices {V1,...Vk}7ThepointerarrayPUsedtoenablefindingashortestpathInitiallythearraycontains0Eachtimethatashorterpathfro

7、mitojisfoundthekthatprovidedtheminimumissaved(highestindexnodeonthepathfromitoj)Toprinttheintermediatenodesontheshortestpatharecursiveprocedurethatprinttheshortestpathsfromiandk,andfromktojcanbeused8Floyd'sAlgorithmUsingn+1DmatricesFloyd//Computesshortestdistanc

8、ebetweenallpairsof//nodes,andsavesPtoenablefindingshortestpaths1.D0W//initializeDarraytoW[]2.P0//initializeParrayto[0]3.fork1ton4.dofori1ton5.doforj1ton6.if(Dk-1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。