普里姆演算法

2021-09-29 07:21:02 字數 920 閱讀 9404

#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...