最短路徑演算法(Dijkstra演算法、Floyd-Warshall演算法)

來源:互聯網
上載者:User

標籤:style   http   color   使用   問題   ar   div   演算法   

最短路徑演算法具體的形式包括:

確定起點的最短路徑問題:即已知起始結點,求最短路徑的問題。適合使用Dijkstra演算法。

確定終點的最短路徑問題:即已知終結結點,求最短路徑的問題。在無向圖中,該問題與確定起點的問題完全等同;在有向圖中,該問題等同於把所有路徑方向反轉的確定起點的問題。

確定起點終點的最短路徑問題:即已知起點和終點,求兩結點之間的最短路徑。

全域最短路徑問題:求圖中所有的最短路徑。Floyd-Warshall演算法。

 

dijkstra演算法思想:開始時,S={u},T=V-{u}; 對T中所有頂點x,如果u到x存在邊,置d(u,x)=c(u,x); 否則d(u,x)=無窮大。迴圈:對T中所有頂點x,尋找d(u,x)最小的頂點t,即:d(u,t)=min{d(u,x)|x屬於T},則d(u,t)就是頂點t到頂點u的最短路徑距離。同時,頂點t也是集合T中所有頂點距離u最近的頂點。把頂點t從T中刪除,把它併入S。然後對T中與t相鄰接的所有頂點x,用下面的公式更新d(u,x)的值:d(u,x)=min{d(u,x), d(u,t) +c(t,x)}。繼續“迴圈”,一直到T空為止。 Floyd-Warshall演算法和dijkstra演算法思想類似:都是通過繞行中間節點找到端到端的最短路徑,不再描述。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.