Single-Source Shortest Paths

Slides:



Advertisements
Similar presentations
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
Lecture 8 Median and Order Statistics. Median and Order Statistics2 Order Statistics 問題敘述 在 n 個元素中,找出其中第 i 小的元素。 i = 1 ,即為找最小值。 i = n ,即為找最大值。 i = 或 ,即為找中位數。
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
Graph V(G 1 )={0, 1, 2, 3, 4, 5, 6, 7, 8, 9} E(G 1 )={(0, 2), (0, 3), (1, 4), (2, 3), (2, 5), (2, 6), (3, 6), (3, 7), (4, 7), (5, 6), (5,
: ShellSort ★★☆☆☆ 題組: Problem D 題號: 10152: ShellSort 解題者:林一帆 解題日期: 2006 年 4 月 10 日 題意:烏龜王國的烏龜總是一隻一隻疊在一起。唯一改變烏龜位置 的方法為:一隻烏龜爬出他原來的位置,然後往上爬到最上方。給 你一堆烏龜原來排列的順序,以及我們想要的烏龜的排列順序,你.
Chapter 2 聯立線性方程式與矩陣 緒言 線性方程式組 (systems of linear equations) 出現 在多數線性模式 (linear model) 中。根據以往解 題的經驗,讀者們也許已發現方程式的解僅與 該方程式的係數有關,求解的過程也僅與係數 的運算有關,只要係數間的相關位置不改變,
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
Structural Equation Modeling Chapter 7 觀察變數路徑分析=路徑分析 觀察變數路徑分析.
8.1 何謂高度平衡二元搜尋樹 8.2 高度平衡二元搜尋樹的加入 8.3 高度平衡二元搜尋樹的刪除
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
Monte Carlo Simulation Part.2 Metropolis Algorithm Dept. Phys. Tunghai Univ. Numerical Methods C. T. Shih.
All-Pairs Shortest Paths
1 第四章 多變數函數的微分學 § 4.1 偏導數定義 定義 極限值 ■. 2 定理 極限值的基本定理 (1) 極限值的唯一性 : 若 存在,則 其值必為唯一。 (2) 若 且 ( 與 為常數 ) , 則 且 為常數且.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
: Tight words ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: : Tight Words 解題者:鐘緯駿、林一帆 解題日期: 2006 年 03 月 14 日 題意: 給定數字 k 與 n (0 ≦ k.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
7.1 背景介紹 7.2 多解析度擴展 7.3 一維小波轉換 7.4 快速小波轉換 7.5 二維小波轉換 7.6 小波封包
選舉制度、政府結構與政 黨體系 Cox (1997) Electoral institutions, cleavage strucuters, and the number of parties.
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
Johnson’s algorithm Johnson’s演算法可用於計算All pairs shortest path問題。
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
最短路徑演算法 卓訓榮 2002/11/11 Data base Label Setting Algorithm Label Correcting Algorithm 運輸資訊.
導線測量平差導論 觀測方程式 多餘方程式 實例 最小控制量 網形平差 χ2檢定:擬合度檢定
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
資料結構實習-一 參數傳遞.
Lecture 7 Sorting in Linear Time. Sorting in Linear Time2 7.1 Lower bounds for sorting 本節探討排序所耗用的時間複雜度下限。 任何一個以比較為基礎排序的演算法,排序 n 個元 素時至少耗用 Ω(nlogn) 次比較。
Chapter 26 Maximum Flow 流量網路與流量 Flow network( 流量網路 ) G=(V,E) 是一個有向圖, 每一邊 (u,v) ∈ E 均有 Capacity( 容量 ) c(u,v)>0 。如 c(u,v)=0 即代表 (u,v) ∉ E 。 s v1v1.
: Problem G e-Coins ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10306: Problem G e-Coins 解題者:陳瀅文 解題日期: 2006 年 5 月 2 日 題意:給定一個正整數 S (0
: A-Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10930: A-Sequence 解題者:陳盈村 解題日期: 2008 年 5 月 30 日 題意: A-Sequence 需符合以下的條件, 1 ≤ a.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
: 05-2 Rendezvous ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11015: 05-2 Rendezvous 解題者:池明洋 解題日期: 2006 年 4 月 16 日 題意: 給 node N 個 , edge.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
: Expect the Expected ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11427: Expect the Expected 解題者:李重儀 解題日期: 2008 年 9 月 21 日 題意:玩一種遊戲 (a game.
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
演算法課程 (Algorithms) 國立聯合大學 資訊管理學系 陳士杰老師 Course 7 貪婪法則 Greedy Approach.
網路介紹及其運用 講師陳炯勳. 5-2 IP 協定 ( 一 ) IP 協定運作 (1) – 網路成員:主機 (Host) 與路由器 (Router) – 路由表 – 電報傳輸運作.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
: Help My Brother ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11033: Help My Brother 解題者: 呂明璁 解題日期: 2007 年 5 月 14 日.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
: Problem E Antimatter Ray Clearcutting ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11008: Problem E Antimatter Ray Clearcutting 解題者:林王智瑞.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出迴圈 6-5 跳出迴圈 6-6 VB.NET 的錯誤處理 6-6 VB.NET.
: Wine trading in Gergovia ★★☆☆☆ 題組: Contest Volumes with Online Judge 題號: 11054: Wine trading in Gergovia 解題者:劉洙愷 解題日期: 2008 年 2 月 29 日 題意:在 Gergovia.
:Commandos ★★★☆☆ 題組: Contest Archive with Online Judge 題號: 11463: Commandos 解題者:李重儀 解題日期: 2008 年 8 月 11 日 題意: 題目會給你一個敵營區內總共的建築物數,以及建築物 之間可以互通的路有哪些,並給你起點的建築物和終點.
Visual C++重點複習.
Course 7 貪婪法則 Greedy Approach
: SAM I AM ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11419: SAM I AM 解題者:李重儀 解題日期: 2008 年 9 月 11 日 題意: 簡單的說,就是一個長方形的廟裡面有敵人,然 後可以橫的方向開砲或縱向開砲,每次開砲可以.
: Construct the wall maze ★★★★★ 題組: Problem Set Archive with Online Judge 題號: 11050: Construct the wall maze 解題者:宋柏儀 解題日期: 2007 年 6 月 12 日.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
:Rings and Glue ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10301: Rings and Glue 解題者:施博修 解題日期: 2011 年 5 月 18 日 題意:小約翰有了個大麻煩,他不小心將 rings.
幼兒行為觀察與記錄 第八章 事件取樣法.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Activity Networks AOV 網路 AOE 網路. AOV 網路 (Activity on Vertx Networks)  為了表示一件工作中,各子工程間的先後 關係,我們可以利用有向圖中的有向邊代 表事情進行的順序,位於一條有向邊終點 的事件必須要等待起點的事情完成後,才 可以進行。
Presentation transcript:

Single-Source Shortest Paths

Shortest-path problem 即是在一圖上找出兩點間最短路徑。 G=(V,E)是一個Weighted Directed Graph(加權有向圖)透過Weight function w: ER界定出每個邊的權重。 以p=(v0,v1,…,vk)表一個自v0到vk的Path(路徑)。 此處新介紹一個定義,Weighted graph即是在每一個邊上加上一個實數作為權重, 可正,可負,可零並無什麼特別限制。 另外在此Path的定義僅是方便下列路徑距離及最短距離的定義, 並非各處的路徑均如此定義。 Single-Source Shortest Paths

Shortest-path problem 定義 定義自u到v的最短距離 Single-Source Shortest Paths

Shortest-path tree rooted at s 對應於圖G=(V,E)的Shortest-path tree rooted at s (根於s之最短路徑樹) G’=(V’,E’),滿足下列三點: V’是s可達的點集合。 G’是一個以s為根的Rooted Tree。 在G’中s到v的simple path即為G中s到v的最短路徑。 V’是s可達的點集合,代表for every v’ in V’, there exists a path from s to v’。 Rooted tree是一種有向圖,只有一個點in degree = 0 其餘均為 1, in degree 0的點稱之為root。 Single-Source Shortest Paths

Shortest-path tree rooted at s範例 10 10 1 1 10 1 1 x w x w t t 10 1 10 1 10 u 10 y y v 1 v 10 1 1 z z Original Graph G Shortest-path tree rooted at s Single-Source Shortest Paths

Single-Source Shortest Paths Predecessor graph 對一圖G=(V,E),根據一個表π來建構的子圖Gπ=(Vπ,Eπ),滿足以下條件: π[s]=NIL,且s∈Vπ。 若π[v]≠NIL則(π[v],v)∈Eπ且v∈Vπ 。 Shortest-path tree rooted at s是Predecessor graph的特例。 Single-source shortest path演算法主要利用不斷更新Predecessor graph, 讓他最後變成Shortest-path tree rooted at s來求出s到其他點的最短距離。 Single-Source Shortest Paths

Single-Source Shortest Paths Predecessor graph範例 π[s] π[t] π[u] π[v] π[w] π[x] π[y] π[z] NIL s t x v s s 10 10 1 1 10 1 1 x w x w t t 10 在此舉的例子同前,但補列對應的表格。 1 10 1 10 u 10 y y v 1 v 10 1 1 z z Original Graph G Shortest-path tree rooted at s Single-Source Shortest Paths

Initialize-Single-Source演算法 定義變數d[v]代表目前已知之自s至v的最短距離。 定義變數π[v]代表目前已知自s至v的最短路徑上,v之前的那一點。 初始時,d[v]=∞,π[v]=NIL,d[s]=0。即除自s到s的最短路徑已知之外,其餘均設為未知。 Single-Source Shortest Paths

Initialize-Single-Source演算法 Initialize-Single-Source(G,s) { for each vertex v∈V[G] do d[v]∞ π[v]NIL d[s]0 } Single-Source Shortest Paths

Single-Source Shortest Paths Relaxation 演算法 主要的目的在於利用邊(u,v)的資訊來更新目前所知的最短路徑。 Relax(u,v,w) { if d[v]>d[u]+w(u,v) then d[v]d[u]+w(u,v) π[v]u } Single-Source Shortest Paths

Single-Source Shortest Paths Relaxation 範例 Relax(u,v,w)後 Relax(u,v,w)前 s if w(u,v)=2 (<3) 此時更新sv的最短距離 以及更新π[v]u s 4 6 w(u,v) u v 4 7 s 紅線代表目前已知的最短路徑。 如果Relax(u,v,w)發現經由已知的su最短路徑加上(u,v)抵達v, 可以比原先已知sv的最短路徑距離更短, 則可以更新sv的最短路徑資訊。 w(u,v) if w(u,v)=4 (>3) 此時不更新sv的最短距離 u v 4 7 w(u,v) u v Single-Source Shortest Paths

Single-Source Shortest Paths 最短路徑與Relaxation的性質 三角不等式: 對所有的邊(u,v),δ(s,v)δ(s,u)+w(u,v)。 上限性質: δ(s,v)d[v],即d[v]總是sv的最短距離上限。一旦d[v]=δ(s,v),則Relaxation不會更改d[v]值。 δ(s,v)代表s到v的最短距離。 Single-Source Shortest Paths

Single-Source Shortest Paths 最短路徑與Relaxation的性質 無路徑性質: 如果s到v並無路徑,則d[v]=δ(s,v)=∞。 收斂性質: 若sv的最短路徑包含邊(u,v)且d[u]=δ(s,u),則此時執行Relax(u,v,w)會使得d[v]=δ(s,v)。 Single-Source Shortest Paths

Single-Source Shortest Paths 最短路徑與Relaxation的性質 Path-relaxation性質: 如p=(v0,v1,…,vk)是一個自s=v0vk的最短路徑, 則依序執行Relax(v0,v1,w), Relax(v1,v2,w)…, Relax(vk-1,vk,w)會使得d[vk]=δ(s,vk)。 Predecessor graph性質: 當經過一連串的Relaxation後,對所有的點v, d[v]=δ(s,v)時,此時對應的Predecessor graph Gπ即是一個Shortest-path tree rooted at s。 Single-Source Shortest Paths

Single-Source Shortest Paths Bellman-Ford演算法 可以計算出沒有負迴圈的圖之最短路徑。 Bellman-Ford(G,w,s) { Initialize-Single-Source(G,s) for i = 1 to |V-1| do for each edge (u,v)∈E do Relex(u,v,w) for each edge (u,v)∈E do if d[v]>d[u]+w(u,v) then return false //代表有負迴圈 return true //代表計算成功 } Single-Source Shortest Paths

Single-Source Shortest Paths Bellman-Ford演算法運作範例 5 5 (a) -2 (b) -2 ∞ ∞ 6 ∞ 6 6 8 8 -3 -3 s s 7 7 -4 -4 7 7 (a)是初始狀態,(b)是first iteration之後的狀況,(c)跟(d)類推。 塗成藍色的虛線邊是對應的Predecessor graph所有的邊, 點內的數字代表d[v],是現存最短路徑長度。 ∞ 2 ∞ 7 2 ∞ 9 9 Single-Source Shortest Paths

Single-Source Shortest Paths Bellman-Ford演算法運作範例 5 5 (c) -2 (d) (e) -2 6 4 2 4 6 6 8 8 -3 -3 s s 7 7 -4 -4 7 7 7 2 2 7 2 -2 9 9 Single-Source Shortest Paths

Single-Source Shortest Paths Bellman-Ford演算法分析 正確性:對所有的邊作一次Relaxation則可將在Shortest-path tree rooted at s中一步可及的path正確計算出。由path-relaxation性質,做完|V|-1次之後,所有的Shortest simple path終點v,d[v]=δ(s,v)。 能檢測出有負迴圈,是因為做了|V|-1次relaxation之後, 仍然可以透過經過額外的邊讓d[v]下降, 則代表最短路徑長度已經超過|V|-1, 由鴿籠原理可以得知必有迴圈存在, 但正回圏不存在最短路徑上, 因故有負迴圈存在。 Single-Source Shortest Paths

Single-Source Shortest Paths Bellman-Ford演算法分析 就時間複雜度的分析如下: Initialize-Single-Source花去O(|V|)的時間。 對所有的邊做了O(|V|)次的Relaxation,花去O(|V||E|)的時間。 最後花去O(|E|)的時間檢查是否有負迴圈。 故總共花去O(|V||E|)的時間。 Single-Source Shortest Paths

Single-source shortest paths in DAGs 跟Bellman-Ford不同的是,按照特定的順序作Relaxation,可較短的時間內計算出最短路徑。 DAG-Shortest-Path(G,w,s) { Topologically sort V[G] Initialize-Single-Source(G,s) for each u taken in topological order do for each v∈adj[u] do Relax(u,v,w) } 以上演算法僅需O(|V|+|E|)的時間。 Topological sort僅需O(|V|+|E|)的時間 而Initialize-Single-Source花去O(|V|) 最後的迴圈花去O(|V|+|E|)的時間 Single-Source Shortest Paths

DAG-Shortest-Path操作範例 6 1 s 5 2 7 -1 -2 ∞ ∞ ∞ ∞ ∞ 3 4 2 (a)是初始狀態,(b)是first iteration之後的狀況,(c)跟(d)類推。 塗成藍色的虛線邊是對應的Predecessor graph所有的邊, 點內的數字代表d[v],是現存最短路徑, 綠色的點代表已經將該點的所有邊Relax過了。 (b) 6 1 s 5 2 7 -1 -2 ∞ ∞ ∞ ∞ ∞ 3 4 2 Single-Source Shortest Paths

DAG-Shortest-Path操作範例 (c) 6 1 s 5 2 7 -1 -2 ∞ 2 6 ∞ ∞ 3 4 2 (d) 6 1 s 5 2 7 -1 -2 ∞ 2 6 6 4 3 4 2 Single-Source Shortest Paths

DAG-Shortest-Path操作範例 6 1 s 5 2 7 -1 -2 ∞ 2 6 5 4 3 4 2 (f) 6 1 s 5 2 7 -1 -2 ∞ 2 6 5 3 3 4 2 (g) 6 1 s 5 2 7 -1 -2 ∞ 2 6 5 3 3 4 2 Single-Source Shortest Paths

Single-Source Shortest Paths Dijkstra演算法 僅能處理無負邊的圖。 比Bellman-ford演算法快,也是藉由挑選特定順序來做Relaxation來達成目的。 利用Priority queue來實做。 主要關鍵想法:利用收斂性質。 Single-Source Shortest Paths

Single-Source Shortest Paths Dijkstra演算法 Q: Priority queue with d as the key Dijkstra(G,w,s) { Initialize-Single-Source(G,s) Q=V[G] while Q is not empty do u=Extract-Min(Q) for each v∈adj[u] do Relax(u,v,w) } 每次藉由Extract-min所得到的點v,d[v]已經是最短路徑長度了。 Single-Source Shortest Paths

Single-Source Shortest Paths Dijkstra演算法操作範例 ∞ 10 5 1 2 3 7 9 4 6 (a) (b) s (a)是初始狀態,(b)是first iteration之後的狀況,(c)跟(d)類推。 塗成藍色的虛線邊是對應的Predecessor graph所有的邊, 點內的數字代表d[v],是現存最短路徑, 綠色的點代表已經將該點的所有邊Relax過了。 Single-Source Shortest Paths

Single-Source Shortest Paths Dijkstra演算法操作範例 8 11 5 7 10 1 2 3 9 4 6 (d) s 14 (c) Single-Source Shortest Paths

Single-Source Shortest Paths Dijkstra演算法操作範例 8 9 5 7 10 1 2 3 4 6 (e) s Single-Source Shortest Paths

Single-Source Shortest Paths Dijkstra演算法分析 依照使用的Priority queue實做方式不同,會有不同的執行時間。 使用Linear array來實做,消耗O(|V|2)的時間。 使用Binary heap來實做,消耗O(|E|log|V|)的時間。 使用Fibonacci heap來實做,消耗O(|E|+|V|log|V|)的 時間。 Single-Source Shortest Paths