Adicionado código para recorrer el árbol en búsqueda del mejor camino. Siguientes pasos:

1. Unir la lógica del grafo con la interfaz gráfica para empezar pruebas funcionales.
2. Crear un pool de threads para hacer la generación del árbol y la selección del mejor camino multi-threaded