Saltar al contenido

El mejor algoritmo de ruta más corta

Estate atento porque en este post encontrarás el resultado que buscas.

Solución:

El algoritmo de Dijkstra encuentra el camino más corto entre un nodo y todos los demás nodos del gráfico. Lo ejecutaría una vez para cada nodo. Los pesos deben ser no negativos, por lo que, si es necesario, primero debe normalizar los valores en el gráfico.

¡Floyd-Warshall calcula las rutas más cortas entre todos los pares de nodos en una sola ejecución! Los pesos de los ciclos deben ser no negativos y el gráfico debe ser dirigido (su diagrama no lo es).

El algoritmo de Johnson usa el algoritmo de Dijkstra para encontrar todos los pares en un solo paso y es más rápido para árboles dispersos (ver el enlace para el análisis).

Floyd Warshall encuentra los caminos entre todos los pares de vértices, pero Dijkstra solo encuentra el camino de un vértice a todos los demás.

Floyd Warshall es O(|V|3) y Dikstra es O(|E| + |V| log |V|) pero tendrá que ejecutarlo V veces para encontrar todos los pares, lo que da una complejidad de O(|E * V| + |V2| log |V|) Supongo. Esto significa que posiblemente sea más rápido usar Dijsktra repetidamente que el algoritmo FW, probaría ambos enfoques y vería cuál es el más rápido en el caso real.

Dijkstra encuentra el camino más corto desde solo una vértice, Floyd-Warshall lo encuentra entre todos de ellos.

Agradecemos que desees proteger nuestra tarea escribiendo un comentario o dejando una valoración te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *