#include
#include
#include
using
namespace std;
#define maxint 32767
#define maxnum 100
typedef
struct
vnode,closedge[maxnum]
;typedef
struct
amgraph;
intlocate
(amgraph g,
int c)
}bool
cmp(vnode &a,vnode &b)
//sort排序(
intmin
(amgraph g)}}
}void
minispantree_prim
(amgraph &g,
int u)
} g.aa[k]
.lowcost=0;
//初始時u=
for(i=
1;i}}}}
//關於普里姆演算法,我們尋找的是u中的點到其他點的權值最小,所以在原有基礎之上,我們需要做的便是 若u中新增頂點到其他頂點的權值比u中其他頂點到相同頂點的權值小,進行替換
//相應的adjex也改變了
intcreateudn
(amgraph &g)
for(i=
0;ifor(i=
0;i)return1;
}void
show
(amgraph g)
cout<<
"\n";}
cout<<
"\n"
;for
(i=0
;iintmain()
普里姆演算法
include include include include using namespace std define max name 5 define max vertex num 20 權的上限值 typedef char vertex max name 頂點名字串 typedef int ad...
普里姆演算法
普里姆演算法的基本思想如下 假設n 是連通網,te是n上最小生成樹中邊的集合。從u 開始,te 開始,重複執行下述操作 在所有的u屬於u,v屬於v u的邊 u,v 的邊中找到權值最小的一條邊,並且併入te,同時u併入u,直到u v 先設乙個輔助陣列closedge max 初始時先把第乙個結點存入c...
普里姆演算法
實現 package datastructure public class primdemo for string vertex vertexs a b 5 a c 7 a g 2 b d 9 b g 3 c e 8 d f 4 e g 4 e f 5 f g 6 100表示不連通 int weig...