日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Floyd-Warshall算法过程中矩阵计算方法—十字交叉法(转)

發布時間:2023/12/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Floyd-Warshall算法过程中矩阵计算方法—十字交叉法(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前幾天在看Floyd算法的時候,雖然感覺程序很簡單,但是讓你動手寫那些過程矩陣的時候就感覺不怎么簡單了,就上網找找看有木有簡便的計算方法,搜索之后沒有發現有現成的例子,只搜到了兩句“弄兩條線,從左上角挪到右下角”,“十字交叉法,從左上角到右下角”,除此之外就再也木有找到有用的東西了。沒有內容就創造內容,填補空白!


先來簡單分析下,由于矩陣中對角線上的元素始終為0,因此以k為中間點時,從上一個矩陣到下一個矩陣變化時,矩陣的第k行,第k列和對角線上的元素是不發生改變的(對角線上都是0,因為一個頂點到自己的距離就是0,一直不變;而當k為中間點時,k到其他頂點(第k行)和其他頂點到k(第k列)的距離是不變的)

因此每一步中我們只需要判斷4*4-3*4+2=6個元素是否發生改變即可,也就是要判斷既不在第k行第k列又不在對角線上的元素。具體計算步驟如下:以k為中間點(1)“三條線”:劃去第k行,第k列,對角線2)“十字交叉法”:對于任一個不在三條線上的元素x,均可與另外在k行k列上的3個元素構成一個2階矩陣x是否發生改變與2階矩陣中不包含x的那條對角線上2個元素的和有關,若二者之和小于x,則用它們的和替換x,對應的Path矩陣中的與x相對應的位置用k來替代。。。

下面來具體看高分筆記上面的那個題目吧。。。。


詳細圖解:






經過以上4步就可以得到最終結果了。。。寫的比較繁瑣,但是看明白了之后,計算將會非常簡單啊。。。。。



轉載于:https://www.cnblogs.com/Fy1999/p/9531593.html

總結

以上是生活随笔為你收集整理的Floyd-Warshall算法过程中矩阵计算方法—十字交叉法(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。