實驗1 1(Prim演算法構建最小生成樹)

2021-10-03 10:30:43 字數 421 閱讀 1900

假設定義一無向圖g = (v ,e),g表示圖,v表示頂點集合,e表示邊集合。(u, v)表示連線圖中的頂點u與v之間的邊,w(u, v)為此邊的權值。日常語言描述,就是使得圖g聯通時,所選取的邊的長度最小;數學語言描述,最小生成樹t就是一棵使w(t)最小的樹,即:

先將v1標記為連通,其他點是未連通的,大迴圈迴圈n-1次,先是1到n迴圈遍歷所有節點,在所有未加入t集合的點裡面選出距離生成樹t最近的節點,找到這個節點就跳出迴圈加入到t裡,再1到n的迴圈,新加了乙個點,就維護該點到還沒有加入t集合的點的距離,取距離生成樹。

構建最小生成樹的prim演算法

prim演算法通過不斷地增加生成樹的頂點來得到最小生成樹。在演算法的任一時刻,一部分頂點已經新增到生成樹的頂點集合中,而其餘的頂點尚未加到生成樹中。此時,prim演算法通過選擇邊 u,v 使得 u,v 的權值是所有u在生成樹中但v不在生成樹中的邊的權值的最小者,從而找到新的頂點v並把它新增到生成樹中...

演算法設計和分析(Prim演算法構建最小生成樹)

問題 給定無向圖g n,m 表明圖g有n個頂點,m條邊,通過prim演算法構造乙個最小生成樹 分析 演算法流程 構造好的最小生成樹就是step6 執行 include include include include include include include include include in...

最小生成樹(prim演算法)

最小生成樹是資料結構中圖的一種重要應用,它的要求是從乙個帶權無向完全圖中選擇n 1條邊並使這個圖仍然連通 也即得到了一棵生成樹 同時還要考慮使樹的權最小。prim演算法要點 設圖g v,e 其生成樹的頂點集合為u。把v0放入u。在所有u u,v v u的邊 u,v e中找一條最小權值的邊,加入生成樹...