Lo que necesitas saber sobre el algoritmo de Dijkstra

Algoritmo de Dijkstra

¿Estás buscando información sobre el algoritmo de Dijkstra?

La comprensión de los algoritmos y, en líneas generales, del mundo de la programación suele ser escaso en un gran número de estudiantes universitarios. Los estudiantes que deban preparar su Trabajo Final de Grado (TFG), Máster (TFM) o tesis doctoral (TD) en relación con eso pueden estar muy alterados. Por eso mismo, no te preocupes, ya que en este post te explicaremos qué es y para qué sirve el algoritmo de Dijkstra.

¿Qué es el Algoritmo de Dijkstra?

Al algoritmo de Dijkstra se lo conoce también como algoritmo de caminos mínimos. Fue creado e ideado por el científico computacional holandés Edsger Wybe Dijkstra, en 1959. Este algoritmo es utilizado para determinar el camino más corto para ejecutar desde un vértice origen hasta el resto de los vértices ubicados en un grafo con pesos en cada arista.

Un grafo, por si no conoces el término, se refiere a un tipo de representación simbólica o gráfica de distintos tipos de elementos que conforman un conjunto o sistema.

Entonces, supongamos que de un vértice de origen tienes muchos caminos, sin saber cuál es el más corto. Este algoritmo te va a permitir recorrer todos los demás vértices y, cuando obtiene el más corto, lo ejecuta y se detiene.

👉 ¿Quieres saber qué es el algoritmo de Euclides? Entra aquí. 

La definición de algoritmo en la informática

Un algoritmo, definido desde el punto de vista de la informática, es cualquier tipo de proceso computacional que, bien definido, puede permitirte partir de un estado de inicio con un valor, pasar por varias secuencias y pasos finitos, y finalmente llegar a una conclusión. Es, dentro de este ambiente, una herramienta para el uso de cálculos.

¿Para qué sirve el algoritmo de Dijkstra?

El algoritmo de Dijkstra puede tener diversas utilidades cuando es aplicada dentro de los grafos. Puede ser utilizado para:

  • La distribución de los productos a una o varias redes de establecimientos comerciales.
  • Para los servicios de distribución de los correos postales.
  • Para un grafo dirigido ponderado (G= (V, A)).

El problema del camino más corto de un vértice a otro consiste en determinar el camino de menor costo, desde un vértice u a otro vértice v. El costo de un camino es la suma de los costos (pesos) de los arcos que lo conforman.

Algoritmo de Dijkstra

Características 

Una vez que ya sabes para qué sirve el algoritmo de Dijkstra, precedemos a explicarte sus principales características, podemos destacar las siguientes:

  • Es un algoritmo greddy, en breve te explicaremos qué es.
  • Se caracteriza por trabajar en etapas, tomando la mejor solución en cada una sin el análisis de las consecuencias futuras.
  • Es muy útil su uso en etapas para realizar modificaciones ante una posible mejor solución.

Un algoritmo greddy, también conocido como algoritmo voraz, es un algoritmo que se especializa en seleccionar la opción más óptima en cada paso a nivel local. En consecuencia, esta misma opción se vuelve la mejor a nivel global. Todas estas características son lo que le dan identidad al algoritmo de Dijkstra.

Procedimiento del algoritmo de Dijkstra

Vamos a darte un buen ejemplo sobre cómo aplicar correctamente el procedimiento de este algoritmo. Teniendo x como nodo inicial y fuente del grafo, un vector N de tamaño H que se encargará de acumular y guardar al final del algoritmo las distancias de x al resto de nodos.

1. Primero tienes que inicializar todas las distancias en el vector H con un valor infinito y relativo, quedando (∞, -). Esto es así porque resultan desconocidas, menos la de x que debe ir en 0 a causa de que la distancia de x a x seria siempre 0 (0,-).

2. Sea f = x (se toma a f como un nodo actual).

3. Se recorren todos los nodos adyacentes a f, excepto los marcados, que ahora se llaman vii.

4. Ahora bien, si notas que la distancia entre a hasta el nodo adyacente vii es guardada en N resulta ser mayor que la distancia de x hasta a sumada a la distancia de a hasta vii, debes cambiarla por la segunda que te acabamos de nombrar.

Quedaría así: si (Ni > Na + d(a,vii)) entonces, Ni = Na + d(a,vii)).

5. Ya puedes marcar como completo el nodo f que determinaste en el paso 2.

6. En este paso, tomarás como próximo nodo al de menor valor en N y vuelves al paso 3 mientras que haya nodos no marcados.

7. Una vez hallas terminado el algoritmo, verás que tu vector N estará lleno.

¿Necesitas ayuda con tu proyecto de algoritmo de Dijkstra?

Realizar proyectos de programación por medio del algoritmo de Dijkstra puede ser complejo, incluso para quienes ya saben programar y tienen idea de que trata. Pero no te preocupes, en TFG Online contamos con un equipo multidisciplinario de profesionales que se destacan en todas las áreas académicas y de la programación. ¡Por eso mismo, podemos ayudarte con tu proyecto académico!

Nuestros presupuestos son personalizados, es decir, se ajustan a tu tipo de proyecto y los tiempos que debas para las entregas. Adicionalmente, ofrecemos tu trabajo totalmente confidencial y 100% de efectividad contra el plagio académico.

¡Pídenos un presupuesto, es gratis! 

¡No dudes más y hazlo! Es fácil, rápido y lo mejor: gratuito. Solo tienes que completar el formulario web que verás a continuación. Una vez lo hagas, nosotros nos comunicaremos contigo lo antes posible. Poseemos múltiples medios de pago disponibles para tu comodidad financiera.

Ico_check

Completa el formulario

Completa el formulario y un asesor se comunicará contigo lo antes posible.

¡Síguenos en las redes!

Recomendados para ti

¿Necesitas ayuda?

Contamos expertos en todas las áreas para ayudarte con tu proyecto académico. Pide tu presupuesto gratis.