演算法熟記-Floyd-Warshall

來源:互聯網
上載者:User

1. 簡述

    解決任意兩點間的最短路徑的一種演算法。

2. 複雜度

    T=O(V^3) ,S=O(V^2),使用鄰接矩陣儲存。

3. 虛擬碼
    需要注意的是i,j,k三個變數的順序。

// dist(i,j) 為從節點i到節點j的最短距離
For i←1 to n do
   For j←1 to n do
      dist(i,j) = weight(i,j)  
For k←1 to n do // k為“媒介節點”
   For i←1 to n do
      For j←1 to n do
         if (dist(i,k) + dist(k,j) < dist(i,j)) then // 是否是更短的路徑?
            dist(i,j) = dist(i,k) + dist(k,j)

 4. 參考資料

     維基百科

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.