#include
using
namespace std;
typedef
char vertextype;
typedef
int edgetype;
const
int maxvex =
100;
const
int infinity =
65535
;typedef
struct
mgraph;
/*建立無向網圖的鄰接矩陣表示
*/void
createmgraph_undirected
(mgraph *g)
for(i =
0;i < g-
>numvertexes;
++i)
//初始化鄰接矩陣,除對角線元素 = 0,其餘為infinity;
else}}
for(k =
0;k < g-
>numedges;
++k)
//完成鄰接矩陣的填寫工作
}void
showmgraph
(mgraph *g)
//列印圖的資訊
else
} cout/prim演算法最小生成樹
void
minispantree_prim
(mgraph *g)
for(i =
1;i < g-
>numvertexes;
++i)
j++;}
printf
("%d<-> %d,權值為%d\n"
,adjvex[k]
,k,g-
>arc[k]
[adjvex[k]])
; sum +
= g-
>arc[k]
[adjvex[k]];
lowcost[k]=0
;for
(j =
1;j < g-
>numvertexes;
++j)}}
printf
("權值之和為:%d\n"
,sum);}
intmain()
最小生成樹 Prim
include stdio.h include stdlib.h include io.h include math.h include time.h define ok 1 define error 0 define true 1 define false 0 define maxedge 20 ...
最小生成樹 prim
演算法模型 由任意乙個頂點開始 將此頂點存入s集,剩餘頂點存入t集合 每次遍歷頂點,取一條能夠連線s與t最短邊e,直到所有頂點全部加入s include include define inf 1 30 int n,m,vis 110 low 110 int map 110 110 int init ...
最小生成樹 PRIM
這個是有關普利姆的演算法,從乙個點出發,找出與這個點相連的所有點的對應的權值最小的那個,然後再把這個點從集合中劃掉。模板如下 include include define inf 0xfffff define max 2005 using namespace std int map max max ...