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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

图论(十)最小生成树-Prim算法

發布時間:2025/3/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图论(十)最小生成树-Prim算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面說過Prim算法是從頂點著手構建最小生成樹的。應該說Prim算法比Kruskal簡單我們還是以前面的鄉鎮假設光纖網絡為例:


Prim算法工作步驟

(1)?構建全部頂點集V,選取初始頂點加入頂點集U

構建頂點集V={a,b,c,d,e,f,g,h,i},從中選取任意一個頂點。我們假設從頂點a開始。將a加入到頂點集U={a}中

(2)?U點與V-U中頂點的所有邊。

?

U中頂點只有aV-U={b,c,d,e,f,g,h,i}U頂點與V-U頂點的所有邊為a-b和a-f,圖中紫色邊。U頂點綠色背景頂點V-U頂點黑色背景頂點

(3)?選取所有邊中的最短邊加入最小生成樹。


所有a-b和a-f中的最短邊a-b,將其加入最小生成樹(圖中綠色邊)

(4)?最短邊另一頭的頂點加入頂點集合U

最短邊a-b的另一頭頂點為b,將b加入到U={a,b}。


(5)?繼續找U點與V-U中頂點的所有邊。

此時,U={a,b}V-U={c,d,e,f,g,h,i},UV-U頂點所有邊為a-f,?b-c,?b-g,b-h。圖中紫色邊所示。


(6)?繼續選取最短邊將最短邊加入最小生成樹最短邊另一頭頂點加入U

此時最短邊為a-f將最短邊加入最小生成樹,并將最短頂點f加入U={a,b,f}此時V-U={c,d,e,g,h,i}。

?

(7)?如此循環反復,直至U=V

下面順序的UV-U以及最小生成樹的變化過程:

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? U={a,b,f,g};V-U={c,d,e,h,i} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? U={a,b,f,g,h};V-U={c,d,e,i}

?

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? U={a,b,c,f,g,h};V-U={d,e,i} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?U={a,b,c,f,g,h,i};V-U={d,e}

?

??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?U={a,b,c,e,f,g,h,i};V-U=ozvdkddzhkzd ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?U={a,b,c,d,e,f,g,h,i};V-U={}

?

為什么不會構成環

因為我們在尋找邊時,是找UV-U頂點構成邊,而U中內部頂點的邊是不找的。找到最短邊后,直接另一頭頂點加入U就是說這兩個頂點都在U了,即使2頂點還有其他路徑,后面都不會再找,也就不會構成回路了。

總結

以上是生活随笔為你收集整理的图论(十)最小生成树-Prim算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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