Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/04/2015, 08:38
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Obtener todas las rutas posibles de un mapa de grafos

Cita:
Iniciado por zeuslife Ver Mensaje
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 Ver Mensaje
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.