版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 34845-2026纸浆、纸及纸制品可吸附有机卤素(AOX)的测定
- 高中物理教资面试专项训练含答案
- 竹藤家具制作工QC考核试卷含答案
- 植物标本采集制作工安全意识强化评优考核试卷含答案
- 园艺生产技术员班组协作水平考核试卷含答案
- 棉花加工辅助工创新意识强化考核试卷含答案
- 堆垛车操作工岗前培训效果考核试卷含答案
- 粪便清运工岗前评优竞赛考核试卷含答案
- 耐火炉窑装窑工操作规范知识考核试卷含答案
- 2026银行ai面试题库及答案解析
- 烟草专卖局(公司)招聘考试试题题库(含答案)
- 6.4民生福祉持续增进 议题式教学课件(共24张)+内嵌视频 2026-2027学年统编版道德与法治9年级上册
- 轻钢龙骨隔墙施工方案
- 2026年多旋翼无人机超视距驾驶员执照考试题库(新版)
- 护理员实操技能模拟考试试题及答案
- 2026年广西(高考)化学考试真题附答案
- 旧房翻新施工方案模板(3篇)
- 2026安徽日报报业集团招聘工作人员专业测试及有关工作笔试历年常考点试题专练附带答案详解
- 2026年全国硕士研究生考试(英语二)真题及答案
- 2026年生物实验室风险评估与风险控制
- 2026年宁波市海曙区社区工作者招聘考试真题(附答案)
评论
0/150
提交评论