我正在尝试使用从文件中读取的数据,使用2d的long数组创建大型图形。节点数为1000000,边数为7586063.0。代码在创建2d数组时中断。
这是一个必须运行Dijkstra&FloydWarshell的图形。该图是有向的 我尝试将其保留为字符串数组,而不是一次读取整个文件。
Graph( String filename) throws IOException{
File file = new File(filename);
BufferedReader br = new BufferedReader(new FileReader(file));
String sr;
sr=br.readLine();
size = Integer.parseInt(sr);
sr=br.readLine();
numOfEdges = Integer.parseInt(sr);
System.out.println("Size = " + size + ". Number of edges " + numOfEdges);
edges = new long[size][size]; // breaks here
String[] tester;
int count = 0;
for(int i = 0; i < numOfEdges; i++) { // currect node
tester = br.readLine().split(" ");
tester = reparse(tester);
for(int j =0; j < size; j++) { //j = currect line of lines.
if(j == Integer.parseInt(tester[0])) { // if start at i
edges[j][Integer.parseInt(tester[1])] = Long.parseLong(tester[2]); // [i][end] =
}
}
}
}