자바에서 DFS를 구현해야하는 숙제가 있습니다. 이 의사는 작업 1.깊이 우선 Java 검색 구현
DFS(V,E,s)
foreach u ∈ V
vis(u) <-- 0
p[u] <-- NULL
DFS-Visit(u)
vis(u) <-- 1
work through u here foreach neighbor v to u
if vis(u) = 0
p[v] = u
DFS-Visit(v)
을위한 것으로 지금까지 내가 가지고 무엇을했다 :
package kth.id2010.lab.lab05;
public class DFS {
private static boolean[] visited;
private static int[] path;
static void DFS(int vertecies[], int edges[], int sourceVertex){
for(int i = 0; i < vertecies.length; i++){
visited[i] = false;
dfsVisit(i);
}
}
static void dfsVisit(int u){
visited[u] = true;
}
}
을 내가 corectly 생각 나는 통해 작업해야하는 부분에 입수했습니다 그래서 경우 u에 foreach 이웃 v. 그리고 어떻게해야할지 모르겠다.
불행히도, 스택은 숙제를하기 위해 여기에있는 것이 아니며, 꽤 잘 알려진 규칙입니다. 우리가 할 수있는 일은 특정 작업이나 프로그래밍 버그를 해결하는 데 도움이됩니다. 너는 무엇을 시도 했는가? 작게 시작해서 거기서 가라. 각 이웃을 반복하는 것보다 DFS가 훨씬 더 중요합니다. 당신은 아이디어가 각 이웃을 확장하는 것이 맞습니다.하지만 일단 그것을 확장하면 어떻게합니까? Queue 객체를 살펴보아야 할 수도 있습니다. http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html – ZekeDroid
어떻게 가장자리를 int 배열로 나타낼 수 있습니까? 각 모서리에는 두 개의 정점에 대해 두 개의 정수가 필요합니다. – Eran
인접 행렬을 사용할 수 있습니다. – michaelgulak