普里姆算法--最小生成树
来源:互联网 发布:雷云mac版安装失败 编辑:程序博客网 时间:2024/04/30 20:54
代码如下:
public class Prim {public static void main(String[] args){int vertexNumber =9;int[][] arr = new int[vertexNumber][vertexNumber];for (int i = 0; i < vertexNumber; i++) { for (int j = 0; j < vertexNumber; j++) { if (i == j) { arr[i][j] = 0; } else { arr[i][j] = 65535; } }}arr[0][1] = 10; arr[0][5] = 11; arr[1][0] = 10; arr[1][2] = 18; arr[1][6] = 16; arr[1][8] = 12; arr[2][1] = 18; arr[2][3] = 22; arr[2][8] = 8; arr[3][2] = 22; arr[3][8] = 21; arr[3][6] = 24; arr[3][7] = 16; arr[3][4] = 20; arr[4][3] = 20; arr[4][7] = 7; arr[4][5] = 26; arr[5][0] = 11; arr[5][6] = 17; arr[5][4] = 26; arr[6][1] = 16; arr[6][5] = 17; arr[6][3] = 24; arr[6][7] = 19; arr[7][6] = 19; arr[7][3] = 16; arr[7][4] = 7; arr[8][1] = 12; arr[8][2] = 8; arr[8][3] = 21; System.out.println("最小生成树为:"); minSpanTree_Prim(arr);}public static void minSpanTree_Prim(int[][] arr){int min,j,k;int count =0;int[] adjvex = new int[arr.length]; //保存相关顶点下标int[] lowcast = new int[arr.length]; //保存相关点间边的权值lowcast[0] = 0; //初始化第一个权值为0,即v0加入生成树 //lowcast的值为0,在这里就是此下标的顶点已经加入生成树adjvex[0] =0; //初始化第一个顶点下标为0for(int i=1;i<arr.length;i++){ //循环除下标为0的全部顶点lowcast[i] = arr[0][i]; //将v0顶点与之有边的权值存入数组adjvex[i] =0; //初始化都为v0的下标}for(int i=1;i<arr.length;i++){min = 65535; //初始化最小权值为65535j=1;k=0;while(j<arr.length){ //循环全部顶点if(lowcast[j]!=0&&lowcast[j]<min){ //如果权值不为零且权值小于minmin = lowcast[j]; //则让当前权值成为最小值k=j; //则将当前最小的下标存入k}j++;}count+=lowcast[k];System.out.println(adjvex[k]+" "+k+" "+count);//打印当前顶点边中权值最小边lowcast[k] =0;//将当前顶点的权值置为0,表示此顶点已经完成任务for(j =1;j<arr.length;j++){if(lowcast[j]!=0&&arr[k][j]<lowcast[j]){//若下标为k顶点各边权值小于此前这些顶点未被加入生成树权值lowcast[j]=arr[k][j]; //将较小权值存入lowcastadjvex[j]=k; //将下标为k的顶点存入adjvex}}}}}
0 0
- 普里姆最小生成树算法
- 普里姆最小生成树算法
- 普里姆算法--最小生成树
- 最小生成树(普里姆算法)
- 普里姆--最小生成树算法
- 最小生成树--普里姆算法
- 最小生成树---普里姆算法
- 最小生成树算法---普里姆Prim算法
- 最小生成树算法---普里姆Prim算法
- 最小生成树算法
- 最小生成树算法
- 最小生成树算法
- 最小生成树算法
- 最小生成树算法
- 最小生成树算法
- 最小生成树算法
- 最小生成树算法
- 最小生成树算法
- 欧洲电信标准化协会(ETSI)介绍
- css2.0下 最完美兼容所有浏览器的宽度自适应案例
- SVM入门(八)松弛变量
- QUESTION 30 关于check约束
- 字符串查找
- 普里姆算法--最小生成树
- 第一次省赛经历。
- 九度 1207
- android广告平台SDK研发日志(一)
- Javascript Leanring Function(3)
- 省赛小感想
- 第11周 项目一1.1 班长和学生的信息 对类进行继承
- OGNL语言解析
- 求多个选择情况下的函数值