TheShortestPath(最短路徑).pptVIP

  • 5
  • 0
  • 约3千字
  • 约 19页
  • 2016-12-02 发布于天津
  • 举报
TheShortestPath(最短路徑).ppt

最短路徑 The Shortest Path The Shortest Path(最短路徑) 由某節點到其他各個節點之最短路徑。 各個節點之間最短路徑。 最短路徑的定義 : 一條從節點S到節點D最短路徑P,它的總權重最少: 單一起點到其他節點最短路徑 採用貧婪(Greedy)策略 如圖是沒有負權重的網路 設起點為0,求節點0到節點1 最短路徑 節點0到 1,路徑長原為50, 經由節點2,路徑 0 - 2 - 1 ,路徑為45 ,然不滿足, 繼續尋找得到路徑0 - 2 - 3 - 1 ,路徑長40為最短。 Dijkstra’s演算法則 要找出某一頂點到其他節點的最短路徑,可利用Dijkstra’s演算法求得。 其過程如下: D = A [F, I] ( I =1, N ) S = {F} V = {1, 2, … , N} D為N個位置的陣列,用來儲存某一頂點到其他頂點的最短距離,F表示由某一起始點開始,A [F, I]是表示F點到I點的距離,V是網路中所有頂點的集合,S也是頂點的集合。 從V-S集合中找一頂點t,使得D [t]是最小值,並將t放入S集合,一直到V-S是空集合為止。 根據下面的公式調整D陣列中的值: D [I] = min ( D [I], D [t] +A [t, I; ] ((I , t )?E) 其中I是指t的相鄰各頂點。 繼續回到(2)執行。 演算法 =>圖

文档评论(0)

1亿VIP精品文档

相关文档