ok gracias.... ya hago el recorrido en profundidad con esta función y lo hace bien.
public void dfs(int k) // depth-first search
{
vertexList[k].wasVisited = true;
displayVertex(k);
theStack.push(k);
while(!theStack.isEmpty()){
int v = getAdjUnvisitedVertex( theStack.peek() );
if(v == -1)
theStack.pop();
else{
vertexList[v].wasVisited = true;
displayVertex(v);
theStack.push(v);
}
}
}
Ahora lo que no se es como identificar los puntos de articulacion del grafo...