prim演算法 鄰接矩陣 鄰接表版

2021-10-18 04:52:48 字數 549 閱讀 4818

prim演算法和dijkstra演算法差不多,只不過前者每次併入乙個離當前集合最近的點,乙個併入離原點最近的點(前提都是vis[u]=false);

prim演算法從哪個點開始都可以,所以不需要引數,這裡預設起點是0;返回生成樹權值之和。

const int maxn = 500 + 10;

const int inf = 0x3fffffff;

//prim

bool vis[maxn] = ;

int g[maxn][maxn], d[maxn], n;

int prim() ;

int d[maxn], n;

int prim()

if (u == -1)return;

//3vis[u] = true;

sum_weight += d[u];

for (int j = 0; j < n; j++)

//4return sum_weight;

}

鄰接矩陣實現Prim演算法

prim是尋找最小生成樹的演算法,本文利用鄰接矩陣,乙個比較方便的方式來進行prim演算法。鄰接矩陣是儲存有向或無向圖的方式,若不帶權,一般用 0 或 inf 表示未連線,用 1 表示連線。如果帶權,可以用乙個矩陣來表示,1是未連線,若連線,則數值等於權值 也可以用兩個矩陣分別表示連線情況和權值。本...

鄰接表轉鄰接矩陣

假設無向圖g採用鄰接矩陣儲存,編寫乙個演算法輸出鄰接表。description 第一行為乙個 整數n,表示頂點的個數 頂點 編號為0到n 1 接下來是為乙個n n大小的 整數矩陣,表示圖的鄰接關係。數字為0表示不鄰接,1表示鄰接。input 輸出圖g的鄰接表。第一行表示頂點0可直接到達的 頂點編號。...

鄰接矩陣與鄰接表

鄰接矩陣表示圖 public class graph private int vertexnum private int edgenum private int g 鄰接矩陣 public graph int vertexnum public void insertedge edge edge pu...