第四周作业——图的表示
来源:互联网 发布:韩信点兵算法口诀 编辑:程序博客网 时间:2024/05/29 16:16
1. 图的表示:给定图数据文件(tinyG.txt),计算得到图的邻接矩阵,并把邻接矩阵保存到文件(tinyG_matrix.txt)中。类名:GraphRepresentation。摘自《http://algs4.cs.princeton.edu/home/》P522。
实现代码:import java.io.*;public class GraphRepresentation {public static void main(String[] args){try{FileReader fr=new FileReader("F:\\tinyG.txt"); BufferedReader br=new BufferedReader(fr); int v,e; String str=""; str=br.readLine(); v=Integer.parseInt(str); str=""; str=br.readLine(); v=Integer.parseInt(str); int[][] g=new int[v][v]; int a,b; for(a=0;a<v;a++) for(b=0;b<v;b++) g[a][b]=0; str=""; int t1; while((t1=br.read())!=-1) { str = str + (char) t1; if((char)t1==' ') { a = Integer.parseInt(str.trim()); str=""; } if((char)t1=='\n') { b = Integer.parseInt(str.trim()); g[a][b]=1; g[b][a]=1; str=""; } } br.close(); fr.close(); FileOutputStream fos = new FileOutputStream("f:\\tinyG_matrix.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos, "gb2312"); BufferedWriter bw = new BufferedWriter(osw); str=""; System.out.println("该图的邻接矩阵为: "); for(a=0;a<v;a++) { for(b=0;b<v;b++) { System.out.print(g[a][b]+" "); str=str+Integer.toString(g[a][b]); } System.out.println(); bw.write(str); bw.newLine(); str=""; } bw.close(); osw.close(); }catch (NumberFormatException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
思路:
先把要读取的文件读入并保存到数组中。由于读取进来的是字符类型,所以在保存进数组前要先进行类型转换。然后根据邻接矩阵的性质把该图的邻接矩阵表示出来。
运行结果:
0 0
- 第四周作业—图的表示
- 第四周作业—图的表示
- 第四周作业—图的表示
- 第四周作业—图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示(GraphRepresentation)
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- 第四周作业——图的表示
- UVALive:Argus
- google推出的SwipeRefreshLayout下拉刷新用法
- 腾讯软件开发实习面试
- 扫地僧来了:一个快递员给搜狗号码通的神建议 众包
- java 内部类中 static (内部类对象成员)
- 第四周作业——图的表示
- C++ 中编写自己的头文件
- 人生淡如菊
- HTTP
- Ubuntu操作系统学习笔记之权限机制
- 使用MyEclipse开发基于JAX-WS的Web service实例
- AFNetworking VS ASIHTTPRequest
- vs2003web项目的vss源代码管理
- vtk 5.10 在 2010 下的安装