Cita:
Iniciado por zeuslife Hola @dashtrash, gracias por tu rápida respuesta.
¿Para qué uso realmente availableNodes, si al final puede que tenga que pasar por el mismo para ir a otro punto? ¿Cómo vuelvo a un nodo padre cuando he agotado uno o varios de sus hijos?
Am, lo que no quieres es repetir caminos.Lo mismo da.Available <lo que sea> es la lista de nodos, caminos, o lo que sea que aun quedan disponibles.
Cita:
Iniciado por zeuslife A lo mejor es mucho pedir, pero un pequeño ejemplo "funcional" vendría de perlas :)
Not going to happen.Pero es muy sencillo:
- start == end ? SI->Devolver el path actual, con end como ultimo elemento.
- No?
Crear un array de soluciones vacio.
Por cada uno de los caminos que existen en availableNodes (aunque ya no son nodos, sino caminos), que comienzan (o terminan) en $start:
-crear un array availableNodes nuevo , donde no existe el camino actual.
-crear un array con currentPath + $start
-llamar recursivamente, con start==nodo opuesto del camino, y currentPath, el array anterior.
- Si la llamada devolvio un array, añadirlo al array de soluciones.
- Devolver el array de soluciones.