4.4.1 - Dijkstra's algorithm

  • 不可有負邊存在

1. 演算法

Cost Matrix C[i][j]:為一個nxn矩陣,n=|V|

C[i,j]={邊長,if (i, j) exists,if (i, j) doesn’t exist0,if i = jC[i,j]= \begin{cases} 邊長, & \textrm{if (i, j) exists}\\ ∞, & \textrm{if (i, j) doesn't exist}\\ 0, & \textrm{if i = j} \end{cases}

S[i]={0,未確定起點到i的shortest path length1,已確定起點到i的shortest path lengthS[i]= \begin{cases} 0, & \textrm{未確定起點到i的shortest path length}\\ 1, & \textrm{已確定起點到i的shortest path length} \end{cases}

Dist[i]:起點到i的shortest path lengthDist[i]:\textrm{起點到i的shortest path length}

Dist[w]=min{Dist[w], Dist[u]+C[u,w]}Dist[w]=min\{Dist[w],\ Dist[u]+C[u,w]\}

2. 範例

求5到各點的最短路徑?

Last updated