You are on page 1of 8

EMMANUEL ALEJANDRO GARCA SOLS BLOG: H T T P : / / E M M A N U E L G S . B L O G S P O T .

C OM

El algoritmo de Dijkstra, tambin llamado

algoritmo de caminos ms cortos, es un algoritmo para la determinacin del camino ms corto dado un vrtice origen.

Este algoritmo utiliza un tipo de estructura de colas

llamado cola de prioridad. Una cola de prioridad es una estructura de datos en la que los elementos se atienden en el orden indicado por una prioridad asociada a cada uno.

1) Seleccionamos el nodo no visitado con menor distancia

acumulada( al iniciar, este ser siempre el nodo de inicio).

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 tenamos acumulada en el nodo destino (en caso de tener ya alguna) y nos quedamos con la menor. paso 1.

3) Marcamos el nodo actual como visitado y volvemos al

El Algoritmo de Dijkstra realiza O(v2) operaciones

(sumas y comparaciones) para determinar la longitud del camino ms corto entre dos vrtices de un grafo ponderado simple, conexo y no dirigido con n vrtices, esto sin utilizar cola de prioridad. O((|E|+|V|) log |V|) utilizando cola de prioridad (por ejemplo un montculo).

Este algoritmo se usa bastante en redes de computadores,

los nodos corresponden a routers y las aristas entre ellos las conexiones, a cada conexin se le asigna un costo (distancia) y de esta manera algunos protocolos de enrutamiento usan el algoritmo de Dijkstra para encontrar la mejor ruta entre nodos.

http://www.youtube.com/watch?v=6rl0ghgPfK0

http://156.35.31.178/wiki/index.php/TP:Algoritmo_

de_Dijkstra_-_Algoritmos_voraces http://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra

You might also like