Programación 3: caminos más cortos con un solo origen

Post on 14-Apr-2017

83 views 1 download

Transcript of Programación 3: caminos más cortos con un solo origen

Caminos más cortos con un solo origen

Emily Arteaga García

Contenido

Introducción Algoritmo de Dijkstra Codificación del Algoritmo de Dijkstra Algoritmo de Floyd Codificación del Algoritmo de Floyd (Conclusiones)Comparación entre el Algoritmo de

Dijkstra y de Floyd Bibliografía

Introducción

Uno de los problemas que se encuentran en la programación es encontrar el camino más corto entre dos vértices, para este tipo de grafos necesitaremos que sean dirigidos y que sus aristas sean valoradas, así podremos encontrar la mejor ruta para llegar al otro vértice.

Algoritmo de Dijkstra

El algoritmo de Dijkstra es aquél que encuentra el camino más corto desde un vértice al resto de vértices en un grafo, es un algoritmo ávido (voraz) y que sus aristas deben tener valores no negativos

Entonces:

¿Cómo es este algoritmo?

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

https://jariasf.wordpress.com/2012/03/19/camino-mas-corto-algoritmo-de-dijkstra/

Codificación del Algoritmo de Dijkstra

Algoritmo de Floyd

Es muy parecido al Algoritmo de Warshall pero en el Algoritmo de Floyd las aristas tienen peso, además de encontrar el camino más corto Floyd lo representa de una manera más elegante y directa que el Algoritmo de Dijkstra. En este algoritmo se generan matrices consecutivas a partir de la primera, en cada paso se incorpora un nuevo vértice y se observa si con ese vértice se puede mejorar los caminos para ser más cortos.

Codificación del Algoritmo de Warshall

(Conclusiones)Comparación entre el Algoritmo de Dijkstra y de Floyd

El Algoritmo de Floyd es muchísimo más eficiente si se trata de encontrar un camino entre todas las parejas de nodos.

Por el contrario el Algoritmo de Dijkstra es mucho más eficiente si se encuentra el camino partiendo de un nodo hacia cualquier nodo del grafo.

Bibliografía

Luis Joyanes Aguilar, I. Z. (2008). Estructura de Datos en Java. España: MCGRAW-HILL/INTERAMERICANA DE ESPAÑA, S. A. U. .