图的最小生成树prim算法总结

本文详细总结了Prim算法,通过邻接矩阵存储图,并将其分为四个步骤进行解释:初始化、寻找最小权值边、更新集合及边的整合。通过这个过程,逐步构建最小生成树。
摘要由CSDN通过智能技术生成

昨天刚刚把prim算法复习了一遍,现在把将自己的理解与总结写出来分享下,prim算法的思想通俗的讲就是:将连通网N={V,E}的顶点分为最小生成树集合U与非最小生成树集合V-U,然后从U中的顶点到V-U中的顶点的边中选出一条权值最小的边,然后把这条边对应的另一个顶点也加入最小生成树集合U中,反复的循环下去。。。

下面就一起看看prim算法的代码


1.用邻接矩阵存储图

public class Mgraph {

	int Max = Integer.MAX_VALUE;          //代表两个顶点之间直接连通的边
	String[] vetxs = {"V0","V1","V2","V3","V4","V5","V6","V7","V8"};
	int weight[][]={						//邻接矩阵的权值
			{0,10,Max,Max,Max,11,Max,Max,Max},
			{10,0,18,Max,Max,Max,16,Max,12},
			{Max,Max,0,22,Max,Max,Max,Max,8},
			{Max,Max,22,0,20,Max,Max,16,21},
			{Max,Max,Max,20,0,26,Max,7,Max},
			{11,Max,Max,Max,26,0,17,Max,Max},
			{Max,16,Max,Max,Max,17,0,19,Max},
			{Max,Max,Max,16,7,Max,19,0,Max},
			{Max,12,8,21,Max,Max,Max,Max,0}			
	};
	int numVetxs=9; //顶点个数
	int numEdges=15;  //边的个数
	
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值