prim 01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include
#define maxv 100
#define inf 32767 /*inf表示∞*/
typedef
int
infotype;
typedef
struct
vertextype;
/*頂點型別*/
typedef
struct
/*圖的定義*/
mgraph;
/*圖的鄰接矩陣型別*/
void
dispmat(mgraph g)
/*輸出鄰接矩陣g*/
}
void
prim(mgraph g,
int
v)
//從頂點v0出發,按普里姆演算法構造聯通網g的最小生成樹
for
(i=1;i
}
printf
(
"結點<%d~~~~~~~%d) 邊的權值為: %dn"
,cloest[k],k,min);
vlength[k]=0;
vlength[cloest[k]]=0;
for
(j=0;j
}
}
}
int
main()
Prim演算法實現
include stdio.h define max vertex num 20 typedef struct arccellarccell,adjmatrix max vertex num max vertex num typedef struct mgraph struct closedge m...
實現prim演算法
如下找出該圖的最小生成樹 prim演算法是求解該類問題的一種經典演算法 prim演算法的基本思路 將圖中的所有的頂點分為兩類 樹頂點 已經被選入生成樹的頂點 和非樹頂點 還未被選入生成樹的頂點 首先選擇任意乙個頂點加入生成樹,接下來要找出一條邊新增到生成樹,這需要列舉每乙個樹頂點到每乙個非樹頂點所有...
prim演算法(C 實現)
templatebool prim edgenodet initializepos int v t w vertexnode2vn2 modifiedminheap h h new modifiedminheap n first 1,v,w while v for int i 0 i n 1 i c...