2. Definición: El algoritmo de Dijkstra es también llamado el algoritmo de caminos cortos, es un algoritmo para la determinación del camino mas corto dado un vértice origen.
3. ¿Funcionalidad del Algoritmo? 1) Seleccionamos el nodo no visitado con menor distancia acumulada. 2) Sumamos la distancia acumulada en dicho nodo con la distancia de las aristas a los nodos a los que podemos acceder. Comparamos la nueva distancia con la que teníamos acumulada en el nodo destino (en caso de tener ya alguna) y nos quedamos con la menor. 3) Marcamos el nodo actual como visitado y volvemos al paso 1. *”Así obtendremos las distancias mínimas a un nodo dado”.
4. Complejidad Computacional La complejidad es O(n^2), ya que recorremos cada nodo una vez y comparamos cada uno de ellos con el resto para ver si ya estaba visitado o para calcular distancias.
5. Ejemplo: b c 1 7 4 8 2 5 Vértice Inicial 0 3 s Costos d Asignamos ∞ a todos los vértices menos al de partida a 5
6. Paso 1 b c 1 7 ~ Tenemos 2 nodos Adyacentes a 0, el 7 y el 2. Al comparar sus costos nos damos cuenta que ir a 2 tiene un menor coste (2) 7 Automáticamente los nodos adyacentes son rotulados con el coste de sus aristas 4 s 8 2 5 0 3 d 2 2 ~ 5 a Nodo Escogido
7. Paso 2 b c 1 5 Y c que tenia asignado ∞ ahora se le asigna 10, que es el costo desde a -> c (8) + el rotulo de a (2). Igualmente el nodo d. 10 7 Entre las posibilidades del nodo “a” tenemos el costo 8 hacia “c”, 5 hacia d y 3 hacia b. Escogemos 3 a b por tener menos costo 4 8 2 5 0 3 s d 2 2 7 a 5
8. Paso 3 b c 1 5 6 De los nodos que tenemos pendientes podemos ver que el de menor coste es el que va de b a c con costo (1) 7 4 8 2 5 0 s 3 d 2 2 7 a 5
9. Paso 4 b c 1 5 6 Finalmente tenemos todos los nodos visitados con Coste mínimo 7 4 8 2 5 0 3 s d 2 2 7 a 5
10. Muestra Final b c 1 5 6 0 3 s 2 d 2 7 a 5 Finalmente tenemos todos los nodos visitados con Coste mínimo después de haber realizado todas las iteraciones