2017-03-09 13 views
0

는 I 텍스트 파일 가중 그래프의 다음의 정보가 포함 "NYRoadNetwork.txt"가지고자바의 텍스트 파일에서 Dijkstra의 최단 경로 알고리즘에 대한 가중 그래프 맵을 생성하는 방법은 무엇입니까?

은 첫 번째 행이 그래프에서 노드의 수를 나타냄을, 즉 30

번째 행의 수를 나타낸다 그래프의 임의의 두 노드를 연결하는 모서리의 수, 즉 17

나머지는 두 노드를 연결하는 모서리의 무게입니다. "0 1 2"번째 행 내 질문 I는 쓰기 방법을 하나씩 대신 각 노드의 입력이고, 에지 노드 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 코드의 일부입니다.

// 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 = 새로운 정점 ("0");'- 이것은 Java가 아닙니다. 그러나 관계없이 질문은 주제와 관련이 없습니다. 문제를 해결하는 코드를 작성하지 않았으므로 작성하지 않을 것입니다. 그것은 StackOverflow가 작동하는 방식이 아닙니다. 자세한 내용은 [도움말]을 방문하여 [질문]을 읽으십시오. 특히 [실제 질문이 아닌 이유는 무엇입니까?] (http://meta.stackoverflow.com/q/284236/18157)를 읽어보십시오.) –

답변

0

read a line from에는 BufferedReader를 사용할 수 있습니다.

그런 다음 String.split() 메서드를 사용하여 줄을 문자열 배열로 분할합니다.

이 유형의 질문을하기 전에 Java API를 사용해 보시기 바랍니다.