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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

接上一篇--最小生成树之Prim算法(根据点来实现最小生成树)

發布時間:2025/3/12 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接上一篇--最小生成树之Prim算法(根据点来实现最小生成树) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Prim算法:該算法也被稱為加點法,從一個節點開始出發,每次迭代權值代價最小的邊對應的點,加入到最小生成樹中。算法從某一個頂點s開始,逐漸長大覆蓋整個連通網的所有頂點。

加入到生成數的時候就只有兩個條件:

1. 該節點之前沒加入過生成樹中;

2. 該節點所對應的邊權值是當前優先級隊列中最小的一個。

下面給出流程圖:


其實這個過程挺簡單的,但是要畫圖出來就真的有點難度了~

我就簡單的就上面那個圖給大家講講整個過程:

1. 以A作為第一個節點,找到A節點的所有nextEdges(下一條邊),并按照權值從小到大放進優先級隊列里面去;

2. 選擇A節點的nextEdges中權值最小的邊,并且該邊的節點toNode還沒被遍歷過的(具體算法實現是還沒放進set集合的)

這個時候就選擇C(因為A的nextEdges中A到C邊的權值最小,并且C還沒被遍歷過)同時將C放到set里面去(證明它被遍歷 過了),如果toNode節點已經被遍歷過了,那么就繼續找權值第二小的邊進行判斷~

3.選擇C的同時,將C的nextEdges的所有邊按照權值從小到大放進優先級隊列中(注意:之前存進去的那些邊還在優先級隊列中)


下面供上算法的具體實現:



歡迎留言~

參考博文:https://blog.csdn.net/luoshixian099/article/details/51908175




總結

以上是生活随笔為你收集整理的接上一篇--最小生成树之Prim算法(根据点来实现最小生成树)的全部內容,希望文章能夠幫你解決所遇到的問題。

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