0
我有一个文本文件“NYRoadNetwork.txt”,其中包含一个加权图的以下信息:如何从Java中的文本文件为Dijkstra的最短路径算法生成加权图的映射?
第一行表示的节点的图中的数量,即30
第二行表示的数量连接图中任意两个节点的边,即17
剩余部分是连接任意两个节点的边的权重,例如。 “0 1 2”,在第三行意味着边缘连接节点0和1的重量为2
30
17
0 1 2
2 3 0
4 5 1
6 7 3
8 9 4
8 10 3
0 11 2
1 12 1
13 14 3
15 16 4
17 18 2
19 20 3
19 21 3
22 23 6
24 25 1
26 27 1
28 29 1
现在,我的问题是,代替输入的每个节点和边一个接一个,我怎样可以写一个java代码从文本文件中读取数据后生成完整的图形?
仅供参考,这是我想修改的原始java代码的一部分。
// mark all the vertices
Vertex 0 = new Vertex("0");
Vertex 1 = new Vertex("1");
Vertex 2 = new Vertex("2");
Vertex 3 = new Vertex("3");
Vertex 4 = new Vertex("4"); ......
// set the edges and weight
0.adjacencies = new Edge[]{ new Edge(1, 2) };
0.adjacencies = new Edge[]{ new Edge(11, 2) };
1.adjacencies = new Edge[]{ new Edge(12, 1) };
2.adjacencies = new Edge[]{ new Edge(3, 0) };
4.adjacencies = new Edge[]{ new Edge(5, 1) };
6.adjacencies = new Edge[]{ new Edge(7, 3) }; .......
'顶点0 =新顶点(“0”);' - 这不是Java。但无论如何,你的问题都是脱离主题。你没有写出解决问题的代码,我们也不会为你编写代码。这不是StackOverflow的工作方式。请访问[帮助]并阅读[问]获取更多信息,尤其是阅读[为什么是“有人可以帮助我?”不是一个实际问题?](http://meta.stackoverflow.com/q/284236/18157 ) –