图的表示
来源:互联网 发布:14.04 linux 输入法 编辑:程序博客网 时间:2024/06/06 11:00
图的表示:给定图数据文件(tinyG.txt),计算得到图的邻接矩阵,并把邻接矩阵保存到文件(tinyG_matrix.txt)中。类名:GraphRepresentation。
package 邻接链表;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.OutputStreamWriter;public class GraphRepresentation {public static void main(String[] args) {try {FileReader in = new FileReader("F:\\tinyG.txt");BufferedReader bl = new BufferedReader(in);int tempchar;String str = "";str = bl.readLine();int x = Integer.parseInt(str);str = bl.readLine();int E = Integer.parseInt(str);int[][] g = new int[x][x];str = "";int a = 0, b = 0;while ((tempchar = bl.read()) != -1){str = str + (char) tempchar;if ((char) tempchar == ' ') {a = Integer.parseInt(str.trim());str = "";}if ((char) tempchar == '\n'){b = Integer.parseInt(str.trim());g[a][b] = 1;g[b][a] = 1;str = "";}}bl.close();in.close();FileOutputStream fos = new FileOutputStream("tinyG_matrix.txt");OutputStreamWriter osw = new OutputStreamWriter(fos, "gb2312");BufferedWriter bw = new BufferedWriter(osw);str="";System.out.println("得 到 图 的 邻 接 矩 阵 为 : ");for (int i = 0; i < x; i++) {for (int j = 0; j < x; j++) {System.out.print(g[i][j]+" ");str=str+Integer.toString(g[i][j]);if(j==12){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();}}}运算结果为:
结果保存到tinyG_matrix.txt中,如下:
0 0
- 图的表示-邻接矩阵表示
- 图的邻接矩阵表示
- 图的数组表示
- 图的矩阵表示
- 图的邻接矩阵表示
- 图的邻接矩阵表示
- 二、图的表示
- 图的表示
- 图的链式表示
- 图的表示--邻接矩阵
- 图的表示
- 图的表示--邻接矩阵
- 图的表示
- 图的表示
- 图的表示
- 图的表示
- 图的表示
- 图的表示
- 使用strace+pstack利器分析程序性能
- 一招一式练武功——读《软件方法上册——业务建模和需求》有感
- java.lang.VerifyError
- 使用"JSONKit.h"解析文件
- TIMESTEN安装配置指南-中文版
- 图的表示
- iPhone同步请求
- 慢下来的时光
- Java里的堆(heap)栈(stack)和方法区(method)
- TCP/IP详解学习笔记(1)-基本概念
- Python 信号量
- iPhone 动画图片
- 黑马程序员---Collection学习总结
- 第六话