13/04/2015, 03:21
|
| 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, 9 meses Puntos: 270 | |
Respuesta: Obtener todas las rutas posibles de un mapa de grafos Asi, en principio, la funcion recursiva tendría una signature del tipo
function getPath($startNode, $endNode, $availableNodes, $connections, $currentPath, & $solutions)
La llamada inicial tiene
$startNode=<nodo inicial>,
$endNode=<nodo final>,
$availableNodes=<todos>,
$connections=<array de conexiones entre nodos>,
$currentPath=array(),
$solutions=array()
Las llamadas recursivas se realizan con:
$startNode=<nodo iactual>,
$endNode=<nodo final>, <-- fijo
$availableNodes=<aquellos no usados>,
$connections=<array de conexiones entre nodos>, <--- fijo
$currentPath=array(<nodos ya usados>)
$solutions=array(<arrays de soluciones>)
Si una llamada recursiva llega al nodo final, mete el valor de $currentPath dentro de $solutions.
Otra posibilidad es no pasar el array $solutions, y devolverlo como valor de retorno de la funcion, o null si no hay caminos entre $start y $end |