最小树-克鲁斯卡尔
来源:互联网 发布:linux限制ip访问次数 编辑:程序博客网 时间:2024/06/09 18:29
public class Main {static final int MAXVEX =65535;static final int MINVEX =65535;public static void main(String[] args) {MyGrop2 p = new MyGrop2();new Main().MiniSpanTree(p);}static int Find (int parent [] , int f){while(parent[f] >0){f = parent[f]; // 下标 f 指向 parent[f]}return f;} void MiniSpanTree(MyGrop2 G){int i,n,m;EDGE [] edges = new EDGE[MAXVEX];for (i=0 ; i<G.srd.length; i++){edges[i] = new EDGE();edges[i].begin = G.srd[i][0];edges[i].end =G. srd[i][1];edges[i].weight =G.srd[i][2];}//定义变得数组int parent [] = new int[MAXVEX];//定义parent来判断便于变是否能形成环for( i=0 ;i<G.a ;i++ ){parent[i] = 0; //初始化}for (i=0 ;i<=G.a ;i++ ){n = Find(parent ,edges[i].begin);m = Find(parent ,edges[i].end);if(n!=m){ //如果n==m 形成环路 parent[n] = m; //将此节点放入下标为起点parent的数组中,表示此节点存在System.out.println("("+edges[i].begin+")--"+edges[i].weight+"--("+edges[i].end+")");}}}}class EDGE{int begin;int end;int weight;}class MyGrop2{final int MINVEX =65535;int a = 9;int srd [][] = {{4,7,7},{2,8,8},{0,1,10},{0,5,11},{1,8,12},{3,7,16},{1,6,16},{5,6,17},{1,2,18},{6,7,19},{3,4,20},{3,8,21},{2,3,22},{3,6,24},{4,5,26}};}
0 0
- 最小树-克鲁斯卡尔
- 克鲁斯卡尔算法
- 克鲁斯卡尔总结
- Kruskal(克鲁斯卡尔)
- 克鲁斯卡尔算法
- 克鲁斯卡尔算法
- 克鲁斯卡尔算法
- 克鲁斯卡尔模版
- 克鲁斯卡尔算法
- 克鲁斯卡尔算法
- 克鲁斯卡尔算法
- 克鲁斯卡尔Kruskal
- 克鲁斯卡尔
- 克鲁斯卡尔
- 克鲁斯卡尔算法
- 克鲁斯卡尔算法
- 克鲁斯卡尔算法
- 克鲁斯卡尔算法
- 数据结构学习——二叉查找树ADT(程序化)
- when I was upset
- 看似小事,却极易写错
- [Qt]界面效果setWindowFlags()
- hdu 1029
- 最小树-克鲁斯卡尔
- Web挖掘技术可实现应用目标
- SQLServer 数据加密解密:在多个服务器实例中创建相同对称密钥(三)
- 《数据结构编程实验》 4.2.1Adding Reversed Numbers
- 【HDU】 2883 kebab(最大流+时间段离散化)
- 在C/C++计算机语言中动态分配二维数组
- Android ListView与adapt
- Codeforces 295 Div2 B.Two Buttons
- 05作用域-AngularJS基础教程