版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Johnsons algorithm Johnsons演算法可用於計算All pairs shortest path問題。 在邊的數量不多的時候,如|E|=O(|V|log|V|)時,能有比Warshall-Floyd演算法較佳的效能。 其輸入需求是利用Adjacency list表示的圖。Graph reweightingTheorem. Given a label h(v) for each v V, reweight each edge (u, v) E by(u, v) = w(u, v) + h(u) h(v).Then, all paths between the same two
2、 vertices arereweighted by the same amount.Proof. Let p = v1 v2 vk be a path in the grahThen, we haveProducing Nonnegative Weights 0-40-523451-4376214-18-5000000s0-40-52345104102200-1130510400s( , )( , )( )( )w u vw u vh uh vh vs v( )( , )Johnsons algorithm1. Find a vertex labeling h such that (u, v
3、) 0 for all (u, v) E by using Bellman-Ford to solve the difference constraints h(v) h(u) w(u, v), or determine that a negative-weight cycle exists.Time = O(VE). 2. Run Dijkstras algorithm from each vertex using .Time = O(VE + V2 lg V).3. Reweight each shortest-path length (p) to produce the shortest
4、-path lengths w(p) of the original graph.Time = O(V2). Total time = O(VE + V2 lg V).Johnsons algorithm Johnsons 演算法利用reweighing來除去負邊,使得該圖可以套用Dijkstra演算法,來達到較高的效能。 Reweighing是將每個點v設定一個高度h(v),並且調整邊的weight function w(u,v)成為w(u,v)=w(u,v)+h(u)-h(v)。 令(u,v)如此調整之後的最短距離,則原先的最短距離(u,v)=(u,v)-h(u)+h(v)。Johnson
5、s algorithmJohnson(G) compute G, where VG=VG s and EG=EG (s,v):v VGif Bellman-Ford(G,w,s)=False then print “ a neg-weight cycle”else for each vertex v VG set h(v)= (s,v) computed by Bellman-Ford algo. for each edge (u,v) EG w(u,v)=w(u,v)+h(u)-h(v) for each vertex u VG run Dijkstra(G,w,u) to compute
6、(u,v) for each v VG duv= (u,v)-h(u)+h(v)return DJohnsons algorithm範例範例37428-461-5Johnsons algorithm範例範例37428-461-5s00000加入一個點s,以及自s拉一條weight為0的邊到每一點。Johnsons algorithm範例範例-10-5-4037428-461-5s00000執行Bellman-Ford演算法,得到自s出發每一點的最短距離。Johnsons algorithm範例範例-10-5-4041002130200做完reweightingJohnsons algorith
7、m範例範例2/10/02/-30/-42/241002130200紅線部分是Shortest-paths tree。點的數字a/b代表自出發點(綠色點)出發,到達該點的最短路徑(Reweighting後的圖/原圖)。Johnsons algorithm範例範例0/02/30/-42/-10/141002130200Johnsons algorithm範例範例0/42/70/02/30/541002130200Johnsons algorithm範例範例0/-12/20/-52/-20/041002130200Johnsons algorithm範例範例2/54/82/10/02/641002130200Johnsons algorithm複雜度分複雜度分析析 執行一次Bellman-Ford。O(|V|E|)。 執
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务平台设计服务合同(3篇)
- 脑外科护师个人工作述职报告(3篇)
- 有关环保建议书的资料(5篇)
- 河北省石家庄市(2024年-2025年小学五年级语文)人教版随堂测试((上下)学期)试卷及答案
- 湖南省张家界市(2024年-2025年小学五年级语文)人教版随堂测试(上学期)试卷及答案
- 2024年染料类项目资金申请报告代可行性研究报告
- 上海市市辖区(2024年-2025年小学五年级语文)统编版专题练习(上学期)试卷及答案
- 上海市县(2024年-2025年小学五年级语文)人教版随堂测试(下学期)试卷及答案
- 郴州文物百颂作者:湖南省郴州市五岭大道陈友训
- 2024届安徽省马鞍山市高三1月月考(期末)数学试题
- 药物健康宣教
- 网络工程职业生涯展示
- 哈利波特与混血王子
- 《汽车钣金喷涂技术》 课件 任务11.2车身钢制外板外形修复机修复
- 不锈钢电镀工艺流程
- IgG4相关疾病的护理查房
- 如何做好医院学科建设
- 干部职工禁毒培训课件
- 景区服务提升培训课件
- 补钾原则和注意事项
- 体育行业的运动场馆安全规范培训
评论
0/150
提交评论