数据结构----prim算法 最小生成树

一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。

 

数据结构----prim算法 最小生成树_第1张图片

 

 选择一个点作为起点      判断连接每个节点的度   选择最小的     每进一个节点 标记已经来过  如果一个节点所连接的节点都走过了 那么就退一步 继续寻找连接边   选择最小的  

 

#include 
#define MAXN 7

int martix[MAXN][MAXN] = {
	{0,1,3,0,0,0,5},
	{1,0,0,4,0,0,6},
	{3,0,0,0,4,0,3},
	{0,4,0,0,0,7,2},
	{0,0,4,0,0,1,5},
	{0,0,0,7,1,0,2},
	{5,6,3,2,5,2,0}
};




void find(int * min,int x,int * ex){
	//printf("%d 处理中..",x);
	printf("%d->",x);
	int pos;
	int mini=99999;
	int j,i;
	int flag=0;
	while(1){
		//printf("%d 处理中3....",x);
		for(j=0;j 
 

  

你可能感兴趣的:(数据结构----prim算法 最小生成树)