Ipol:Modulo6b
From Wiki
Algoritmo de Dijkstra
Pasos
- leer un grafo de disco en formato de matriz de adyacencia, igual que en el ejercicio anterior.
- leer los nodos inicial y final de la entrada estándar
- calcular las distancias del nodo inicial al todos los nodos del grafo utilizando el algoritmo de Dijkstra
- calcular el camino mínimo (y su costo) entre los nodos inicial y final
- Se deberá guardar como salida un archivo con el camino con el siguiente formato
<bash> 3 #número de nodos A #nodos del camino en orden (comenzando con el inicial) G Z 30 #costo total del camino </bash>
Pruebas
Probar con los siguientes grafos: grafos_dijkstra.zip
Hay dos grafos, uno sencillo de pocos nodos (Fig. 1), y un k1000 (grafo completo de 1000 nodos). Se recomienda testear el algoritmo con el primer grafo y luego probar la eficiencia computacional con el grafo completo.
En las matrices de adyacencia, un valor infinito es desconectado y un valor finito es conectado, donde el valor representa el costo. Como no se puede representar infinito, usamos el siguiente número: 2147483647
Informe
- comparar eficiencia en ciclos con y sin heap (puede ser util usar un grafo grande)
- comparar eficiencia teórica con la obtenida en la práctica (ciclos en función de n)