private boolean hayCamino(Grafeable g, int v, int w, boolean visitado[]) {
   if ((v == w) || g.hayArista(v, w)) return true;
   visitado[v] = true;
   List<Integer> list = g.getListaAdy(v);
   if (list.isEmpty()) return false;
   else {
     for (Integer aList : list) {
       if (!visitado[aList] && hayCamino(g, aList, w, visitado)) {
         return true;
       }
     }
     return false;
   }
 }
 public boolean hayCamino(Grafeable g, int v, int w) {
   boolean[] visitado = new boolean[g.orden()];
   return hayCamino(g, v, w, visitado);
 }