Algoritmos de ruta Dijkstra

En la entrada de esta semana se hablara un poco sobre le algoritmo de recorrido de grafos, de manera que nos diga cual es la ruta mas corta para llegar de un nodo a otro.

Dijkstra

Es un algoritmo eficiente, con una complejidad de O(n
^2), donde "n" es el numero de vértices. Sirve para encontrar el camino de coste mínimo desde un nodo origen a todos los demás nodos del grafo.
Fue diseñado por el holandes  Edsger Wybe Dijkstra en 1959.
Resuelve los problemas en sucesivos pasos, seleccionando en cada paso la solución mas optima con el objeto de resolver el problema.
Es fundamento sobre el que se basa este algoritmo es el principio de optimizar: si el camino mas corto entre los vértices "u" y "v" pasa por el vértice "w", entonces la parte del camino que va de "w" a "v" debe ser el camino mas corto entre todos los caminos que van de "w" a "v". Así de esta manera se va construyendo sucesivamente  los caminos de coste minimo.
Fuente:
http://www.udb.edu.sv/udb/archivo/guia/informatica-ingenieria/programacion-iv/2013/ii/guia-10.pdf


Pasos a seguir al crear el algoritmo Dijkstra son 


  1. Seleccionar Vértice de partida, osea el origen.
  2. Marcar el punto de partida como el punto de inicio.
  3. Determinar los caminos especiales desde el nodo de partida, es decir, el inicio.
  4. Camino especial es aquel que solo puede trazarse a través de los nodos o vértices ya marcados.
  5. Para cada nodo no marcado, se debe determinar si es mejor usar el camino especial antes  calculado o si es mejor usar el nuevo camino especial que resulte al marcar este nuevo nodo.
  6. Para seleccionar un nuevo nodo no marcado como referencia, deberá tomarse aquel cuyo camino especial a él es el mismo
Podemos decir que este algoritmo es muy útil cuando tratamos de buscar caminos cortos en grafos de tamaño considerables, ya que considero que existen algoritmos mas complejos que nos ayudarían en casos de grafos extensos 

Comentarios

Entradas populares de este blog

Arboles Binarios

Estructuras dinámicas lineales

Teoría de grafos y Biología Molecular