elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Recursividad y Backtracking!!!!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Recursividad y Backtracking!!!!  (Leído 8,266 veces)
bwsr

Desconectado Desconectado

Mensajes: 80


Ver Perfil
Recursividad y Backtracking!!!!
« en: 28 Mayo 2007, 15:30 pm »

Hola.

Tengo el siguiente problema, tengo que hacer un programa que me calcule todos los caminos posibles de un tren para que este llegue a su destino pudiendo hacer transbordo en las estaciones con mismo nombre y asi pasar a otras lineas.

Lo que quiero es guardar cada recorrido válido en una lista de listas List<List<String>> estoy programando en java.

Estas podían ser las lineas de los trenes. (guardadas en otra List<List<String>>)

Estación 1 -----> Estación 2 -----> Estación 3 -----> Estación 4

Estación 2 -----> Estacion 4

Estación 0 ----> Estación 2 ----> Estación 4

Estación 2-----> Estación 4 -----> Estación 5



Mi información :

      Parada origen : Estación 1
      
      Parada destino : Estación 4

Como se podría calcular todos los caminos válidos usando recursividad?¿?

Si alguien me pudiera hechar una mano se lo agradecería mucho....

Un saludo y gracias.


« Última modificación: 28 Mayo 2007, 16:54 pm por Bullweiser » En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: Recursividad y Backtracking!!!!
« Respuesta #1 en: 29 Mayo 2007, 00:02 am »

A ver si esto te inspira algo, la sintaxis está inspirada en java y el "enhanced" for.

Código:
Caminos calcularCamino(Nodo nodo){
   Caminos res;
   for (Nodo h : nodo.hijos())
         for (Camino c : calcularCamino(h))
              res.append(h + c);
}


En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
bwsr

Desconectado Desconectado

Mensajes: 80


Ver Perfil
Re: Recursividad y Backtracking!!!!
« Respuesta #2 en: 28 Junio 2007, 00:40 am »

A ver yo tengo un Lista que es esta :

List<List<String>> lineasDeLosTrenes = new Vector<List<String>>();  //Aquí estan los nombres de las estaciones ordenados

Estación 1 Estación 2 Estación 3 Estación 4

Estación 2  Estacion 4

Estación 0 Estación 2  Estación 4

Estación 2 Estación 4 Estación 5

Para poder acceder a los nombres de cada linea, primero hay que cargar en una lista normal cada linea:

List<String> temporal = lineasDeLosTrenes.get(i);  //donde "i" es la linea a explorar



Mi problema es que quiero guardar en otra lista de listas( List<List<String>> todasLosCaminosPosibles = new Vector<List<String>>(); )  todas las posibilidades que hay de ir de una

estación origen hasta destino pudiendo hacer transbordo en las estaciones con mismo nombre y asi llegar a destinos pertenecientes a lineas en las que el origen no está.

Por ejemplo:

Origen : Estacion 0

Destino : Estacion 5

Si me hechaseis una mano os lo agradecería en el alma, gracias Ragnarok por tu respuesta pero no soy capaz de sacar nada en claro......
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines