Graph - dfs and detect cycle and count paths

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;
}
//if reached here means cycle has not found in DFS from this vertex
//reset
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);
}
}
}

Comments