博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最小生成树之克鲁斯卡尔算法
阅读量:3725 次
发布时间:2019-05-22

本文共 1292 字,大约阅读时间需要 4 分钟。

最小生成树-克鲁斯卡尔算法-Java版(无向图)

关键在于判断是否能够形成环

判断依据:所有的结点都是层层指向最大的结点,如果最后一个相等,说明可以形成环,例如:

1->3->5与4->5可以形成环

package 最小生成树之克鲁斯卡尔算法;class MGraph{	public int[][] arc;	public int vertices;	public MGraph(int n){		vertices = n;		arc = new int[n][n];	}	public void addEdge(int i,int j){		if(i==j){			return;		}		arc[i][j]=1;	}}//主体在于边public class Kruskal {	void MiniSpanTree_Kruskal(MGraph G){		int[] lowcost = new int[G.vertices]; //用来标识是否访问过		int min = Integer.MAX_VALUE;		int row=0,col=0,k=1,m,n;		while(k
", min,row,col); if(Find(lowcost,row)
0){ f = lowcost[f]; } return f; } public static void main(String[] args) { MGraph graph = new MGraph(6); int[][] temp={
{65535,6,1,5,65535,65535}, {6,65535,5,65535,3,65535}, {1,5,65535,5,6,4}, {5,65535,5,65535,65535,2}, {65535,3,6,65535,65535,6}, {65535,65535,4,2,6,65535}}; /*int[][] temp={
{65535,1,2,3,4,65535}, {1,65535,65535,65535,65535,35}, {2,65535,65535,65535,8,65535}, {1,65535,65535,65535,65535,65535}, {4,65535,8,65535,65535,65535}, {65535,35,65535,65535,65535,65535}};*/ graph.arc=temp; new Kruskal().MiniSpanTree_Kruskal(graph); }}

 

转载地址:http://kyonn.baihongyu.com/

你可能感兴趣的文章
SpringBean的生命周期
查看>>
github下载的几种加速方法
查看>>
程序员是怎样玩植物大战僵尸的
查看>>
子网划分
查看>>
JS原生再现黑客帝国文字矩阵
查看>>
git托管代码到GitHub和Gitee(码云)
查看>>
你永远无法叫醒一个装睡的人(关于自媒体发展的详细介绍)
查看>>
STM32CubeMX-6.1.1 编写 stm32H743IIT6 生成keil工程时出现错误
查看>>
多文件编译写法
查看>>
操作系统--中断与系统调用
查看>>
Error running ‘ ‘D:/openjdk-16.0.1_windows-x64_bin/jdk-16.0.1/bin‘ is not a valid JRE home
查看>>
一行只能放一个元素,搜索框输入框el-input不能调整大小,el-col,el-row的形式失效.....等问题-elemntui样式为引入---某坑记录指南
查看>>
js中slice、splic、splite相互间的区别
查看>>
美化代码工具---Prettier使用简单介绍
查看>>
将中国标准时间转化为yyyy-MM-dd 00:00:00格式
查看>>
Invalid prop: type check failed for prop “index“. Expected String, got Undefined
查看>>
改变一个ppt所有的幻灯片的背景色和字体颜色
查看>>
联想电脑上的音量键和F1键重合如何区别使用
查看>>
免费的且功能强大的截屏软件---Snipaste
查看>>
杂-格上数字签名重要符号
查看>>