Prim算法求无向图的最小生成树

本文详细介绍了Prim算法的工作原理及其在求解无向图最小生成树问题中的应用。通过逐步构建最小生成树,展示了如何从一个顶点开始,不断选择边来扩展树,直到覆盖所有顶点,同时保证总权重最小。算法过程包含关键步骤解释和实例演示。
摘要由CSDN通过智能技术生成

struct Edge{
               //边结构体 
	
	int pos;           //边的末端顶点下标 
	int w;            //边的权 
	struct Edge *next;//用于邻接下一条边 
};

struct Ver{
              //顶点结构体 
	
	int vpos;         //顶点下标 
	struct Edge *next;//用于邻接顶点的边 
	
};


struct NoDireGraph{
      //图结构体 
	
	struct Ver *Vx;   //顶点数组,用于存储图的顶点 
	int vm,em;        //图的顶点数,边数 
};

void MingenerateTree(struct NoDireGraph *g)//Prim 算法 
   {
   
   	  if(IsLiantong(g)==0)
   	         {
   cout<<"false"<<endl;
        	   	return;
         	   }
   	
   	  else{
   // cout<<"进入普利姆算法..."<<endl;
  	   	    //普利姆算法
  	   	    
  	   	    
			        bool visit[g->vm]; 
			           visit[0]=true;//cout<<"0 被访问!"<<endl;
  	               for(int i=1;i<g->vm;i++)
  	                  visit[i]=false;
  	   	
  	   	           int dist
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值