资源简介
通过prim计算最小生成树。读取文本数据(矩阵),保存为二维数组格式,通过prim算法得到最小生成树的数组格式,并将其保存为文本。最后画出简易图。
代码片段和文件信息
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import util.Myframe;
public class prim extends Myframe{
/**
*
*/
private static final long serialVersionUID = 1L;
public static final int size = 22;//地点个数或矩阵大小
Image map = util.MyframeUtil.getImage(“Image\\map.png“);
Image adr = util.MyframeUtil.getImage(“Image\\adr.png“);
int time=0;//画图次数
int mincost=0;//记录当前路径距离和
// 读入TXT文件中的数据,即矩阵
public static int[][] getcost(String pathname){
int[][] cost = new int[size][size];
int line=0;
try {
File filename = new File(pathname); // 新建对应路径文件的文件对象
InputStreamReader reader = new InputStreamReader( new FileInputStream(filename)); // 建立一个输入流对象reader
BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言
String str=null;
while(( str= br.readLine())!=null&&line {
String[] date = str.split(“\t“); //以‘\t‘做分隔符将str分割并保存为字符数组
if(date.length System.out.println(“size值大于矩阵行列数!ERROR!!!“);
System.exit(0);
}
for (int i = 0; i < size; i++) {//date.length
cost[line][i] = Integer.parseInt(date[i]); //将字符数组中的字符串转换为int类型并存入二维数组中
}
line++;
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return cost;
}
//根据传入的矩阵(二维数组)计算出最小生成树
public static int[][] gettree(int[][] cost) {
int mincosti=0j=0k=0l=0;
int [][]T=new int[size][2];
int []Near=new int[size];
int mindistance=2000;
for(i=0;i for(j=0;j if(cost[i][j]!=0&&cost[i][j] mindistance = cost[i][j];
k=i;
l=j;
}
}
}
mincost = mindistance;//加入距离总和
T[0][0]=k;
T[0][1]=l;
for(i=0;i if(cost[i][l] Near[i]=l;
else Near[i]=k;
}
Near[k]=Near[l]=-1;
//寻找T的剩余n-2条边
for(i=1;i {
for(int a=0;a {
if(Near[a]!=(-1))
{
j=a;
break;
}
}
int minnearcost = cost[j][Near[j]];
for(int a=0;a {
if(Near[a]!=(-1)&&cost[a][Near[a]] {
minnearcost = cost[a][Near[a]];
j=a;
}
}
T[i][0]=j;
T[i][1]=Near[j];
mincost=mincost+cost[j][Near[j]];
Near[j]=-1;
for (int a=0;a {
if(Near[a]!=(-1)&&cost[a][Near[a]]>cost[a][j])
Near[a]=j;
}
}
return T;
}
//输入地点序号返回每个地点在地图的位置坐标的转换函数
public int[] Switchloc(int a) {
int[] xy=new int[2];
switch(a) {
case 0:
xy[0]=620;xy[1]=234;
break;
case 1:
xy[0]=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 396 2018-10-05 10:51 Prim\.classpath
文件 380 2018-10-05 10:51 Prim\.project
文件 595 2018-10-05 10:51 Prim\.settings\org.eclipse.jdt.core.prefs
文件 6707 2018-10-18 11:48 Prim\bin\prim.class
文件 343 2018-10-18 11:17 Prim\bin\util\Constant.class
文件 647 2018-10-18 11:17 Prim\bin\util\Myfr
文件 718 2018-10-18 11:17 Prim\bin\util\Myfr
文件 1230 2018-10-18 11:17 Prim\bin\util\Myfr
文件 1110 2018-10-18 11:40 Prim\bin\util\Myfr
文件 17618 2018-10-06 11:09 Prim\Image\adr.png
文件 1900 2018-10-06 11:13 Prim\Image\cost.txt
文件 938794 2018-10-06 11:09 Prim\Image\map.png
文件 435 2018-10-18 11:48 Prim\Image\print.txt
文件 7305 2018-10-18 11:48 Prim\src\prim.java
文件 182 2018-10-05 17:27 Prim\src\util\Constant.java
文件 1394 2018-10-17 19:03 Prim\src\util\Myfr
文件 914 2018-10-18 11:40 Prim\src\util\Myfr
目录 0 2018-10-18 11:51 Prim\bin\util
目录 0 2018-10-18 11:51 Prim\src\util
目录 0 2018-10-18 11:51 Prim\.settings
目录 0 2018-10-18 11:51 Prim\bin
目录 0 2018-10-18 11:51 Prim\Image
目录 0 2018-10-18 11:51 Prim\src
目录 0 2018-10-18 11:51 Prim
----------- --------- ---------- ----- ----
980668 24
相关资源
- 高能分解中的旋转螺旋方法:彩色玻
- 从晶格QCD计算中提取parton分布函数
- 无扰动标量Yukawa模型的从头算方法
- 基于numa架构的tcmalloc内存管理算法
- 数据结构与算法课件ppt
- 代码项目“生成”微博、知乎、
- 制作迅雷 链接生成器
- springboot+rabbitmq项目demo(亲测可正常运
- springboot整合RabbitMQ实现延时队列的两
- 关于Spring MVC项目maven中通过fileupload上
- 美松打印机SDK MsPrintSDK-Demo-DLL-CShare-
- BullZip PDF Printer v10.10.0.2307 官方版
- 用AD6、AD9画完PCB生成gerber文件详细说
- Spring-Data-Redis2.0+Spring5
- 建立在Sun平台上的高性能计算基础设
- 全息非计算机
- Chern-Simons-fermion理论中的无序算子
- 拓扑Abelian Chern-Simons和BF理论的精确计
- 聚电解质溶菌酶在氯盐水溶液中Maxw
- 深海推进器用永磁无刷直流电机损耗
- regexBuilder 正则表达式自动生成器
- IBM.Rational.Rose.Enterprise的license.upd
- S32K144使用printf格式化输出
- SGP4模型的卫星轨道计算
- 2017年-传智播客-张志君老师-SpringBoo
- 围岩松动圈理论计算方法的评述与展
- BOD—DO水质模型参数反演算法
- 基于进化算法的岩体参数智能识别
- 遗传算法的堆石料非线性本构模型参
- 基于蚁群算法的开采沉陷计算参数反
评论
共有 条评论