2022 4 2學習日記

2022-10-09 12:24:09 字數 565 閱讀 7854

和dijkstra演算法一樣,弗洛伊德(floyd)演算法也是一種用於尋找給定的加權圖中頂點間最短路徑的演算法。該演算法名稱以創始人之一、2023年圖靈獎獲得者、史丹福大學電腦科學系教授羅伯特·弗洛伊德命名。

基本思想

通過floyd計算圖g=(v,e)中各個頂點的最短路徑時,需要引入乙個矩陣s,矩陣s中的元素a[i][j]表示頂點i(第i個頂點)到頂點j(第j個頂點)的距離。

假設圖g中頂點個數為n,則需要對矩陣s進行n次更新。初始時,矩陣s中頂點a[i][j]的距離為頂點i到頂點j的權值;如果i和j不相鄰,則a[i][j]=∞。 接下來開始,對矩陣s進行n次更新。第1次更新時,如果"a[i][j]的距離" > "a[i][0]+a[0][j]"(a[i][0]+a[0][j]表示"i與j之間經過第1個頂點的距離"),則更新a[i][j]為"a[i][0]+a[0][j]"。 同理,第k次更新時,如果"a[i][j]的距離" > "a[i][k]+a[k][j]",則更新a[i][j]為"a[i][k]+a[k][j]"。更新n次之後,操作完成!

單純的看上面的理論可能比較難以理解,下面通過例項來對該演算法進行說明。

學習日記 3

今天很早同學就來叫我去自修了,休息了這麼多天,是應該開始勤奮了。不過去到教學樓真的有點後悔,那裡在施工,嘈還不說,連電都停了,但既然去到也就在那裡自修了。開了窗,偶爾有點風,但那只是偶爾,更多的時間是一點風都沒有,悶熱 擦掉桌面和椅上的一層灰塵,就開始看書了。今天看了很多,也很累,現在就回憶一下 看...

學習日記(4)

終於開始軟體設計了,昨天下午弄了一下午的圖象處理,終於有點成果了,用到的主要是vc 的mfc程式設計。下面總結一下 cfiledialog filedia false,null,null,null,t 自定義檔案型別 bmp bmp null 開啟檔案對話方塊函式 loadimage api函式,這...

09 11 12學習日記

昨晚做了教材6 22題目,原題 編寫函式int index char s,char t 返回字串t在字串s中出現的最左邊的位置,如果在s中沒有與t匹配的字串,就返回 1。自己做的 include include using namespace std int index char s,char t ...