private void dfs(int startVertex, boolean[] visited) {
// TODO Auto-generated method stub
visited[startVertex] = true;
System.out.print(startVertex+" ");
for(int i = 0; i < edgeList[start].size(); i++)
int distance = edgeList[startVertex].get(i);
if(!visited[distance]) {
dfs(distance, visited);
}
}
}
=====================
private boolean isCycle(int start,boolean[] visited,boolean arrVer[]) {
visited[vertex] = true;
arrVer[vertex] = true;
for(int i = 0; i < edgeList[start].size(); i++
int distance = edgeList[start].get(i);
if(!visited[start] && isCycle(distance, visited, arrVer)) {
return true;
}else if(arrVer[distance]) {
return true;
}
arrVer[distance] = false;
}
return false;
}
================
public void count(int start, int destination) {
if (start == destination) {
paths++;
} else {
for (int i = 0; i < edgeList[start].size(); i++) {
int ajdacentVertex = edgeList[start].get(i);
count(ajdacentVertex, destination);
}
}
}
// TODO Auto-generated method stub
visited[startVertex] = true;
System.out.print(startVertex+" ");
for(int i = 0; i < edgeList[start].size(); i++)
if(!visited[distance]) {
dfs(distance, visited);
}
}
}
=====================
private boolean isCycle(int start,boolean[] visited,boolean arrVer[]) {
visited[vertex] = true;
arrVer[vertex] = true;
for(int i = 0; i < edgeList[start].size(); i++
if(!visited[start] && isCycle(distance, visited, arrVer)) {
return true;
}else if(arrVer[distance]) {
return true;
}
| //if reached here means cycle has not found in DFS from this vertex | |
| //reset |
}
return false;
}
================
public void count(int start, int destination) {
if (start == destination) {
paths++;
} else {
for (int i = 0; i < edgeList[start].size(); i++) {
int ajdacentVertex = edgeList[start].get(i);
count(ajdacentVertex, destination);
}
}
}
Comments
Post a Comment