@Override public NodoArbol buscarObjetivo(NodoArbol nodo, NodoArbol objetivo) { debug("evaluando nodo: " + nodo); // primero me fijo si soy yo el elegido (jaja) // luego me fijo los demas. visitedList.add(nodo); if (nodo.equals(objetivo)) { debug("encontrado: " + nodo); return nodo; } if (!nodo.getNodosHijos().isEmpty()) { for (NodoArbol na : nodo.getNodosHijos()) { NodoArbol encontrado = buscarObjetivo(na, objetivo); if (encontrado != null) { debug("child encontrado: " + encontrado); return encontrado; } } } // si llegue hasta aca, es hoja o finalizo con los bichos // visitedList.add(nodo); // if (nodo.equals(objetivo)) { // debug("encontrado: "+nodo); // return nodo; // } // debug("NO ENCONTRADO: nodo actual "+nodo); return null; }
/** @param nodo */ @Override public void mostrarLista(NodoArbol nodo) { if (!nodo.getNodosHijos().isEmpty()) { visitedList.add(nodo); for (NodoArbol na : nodo.getNodosHijos()) { mostrarLista(na); } } // si llegue hasta aca, es hoja o finalizo con los bichos visitedList.add(nodo); }