Em có đoạn code sau, Duyệt đồ thị DFS (danh sách kề). Mọi người ai biết đọc ghi file, hướng dẫn em với ạ, em muốn dùng file để đọc đỉnh các cạnh của nó , mà em chưa biết làm thế nào, cho hợp lý.
Em cám ơn ạ.
import java.io.IOException;
import java.util.Iterator;
import java.util.LinkedList;
class Graphs {
public static void main(String[] args) throws IOException {
Graph g = new Graph(6);
g.addEdge(0, 1);
g.addEdge(0, 2);
g.addEdge(0, 4);
g.addEdge(1, 0);
g.addEdge(1, 2);
g.addEdge(1, 4);
g.addEdge(2, 0);
g.addEdge(2, 1);
g.addEdge(2, 3);
g.addEdge(3, 2);
g.addEdge(3, 4);
g.addEdge(3, 5);
g.addEdge(4, 0);
g.addEdge(4, 1);
g.addEdge(4, 3);
g.addEdge(4, 5);
g.addEdge(5, 3);
g.addEdge(5, 4);
g.DFS(0);
}
}
class Graph {
private int V;
private LinkedList<Integer> adj[];
// Contructor
public Graph(int v) {
V = v;
adj = new LinkedList[v];
for (int i = 0; i < v; i++) {
adj[i] = new LinkedList();
}
}
// addEdge
public void addEdge(int u, int v) {
adj[u].add(v);
}
// DFS traversal
public void DFSUtil(int v, boolean visited[]) {
visited[v] = true;
System.out.println(v + " ");
Iterator<Integer> i = adj[v].iterator();
while (i.hasNext()) {
int n = i.next();
if (!visited[n]) {
DFSUtil(n, visited);
}
}
}
// DFS
public void DFS(int v) {
boolean visited[] = new boolean[V];
DFSUtil(v,visited);
}
}