SlideShare una empresa de Scribd logo
2
Lo más leído
4
Lo más leído
6
Lo más leído
República Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación
Instituto Universitario Politécnico Santiago Mariño
Algoritmo de Dijkstra
Profesor: Autor:
Oscar Sandoval Osmar Gutiérrez
C.I.: 23.950.327
Algoritmo de Dijkstra
El algoritmo de Dijkstra, también llamado algoritmo de caminos
mínimos, es un algoritmo para la determinación del camino más
corto dado un vértice origen al resto de vértices en un grafo con
pesos en cada arista. Su nombre se refiere a Edsger Dijkstra,
quien lo describió por primera vez en 1959.
El algoritmo es una especialización de la búsqueda de costo
uniforme, y como tal, no funciona en grafos con aristas de costo
negativo (al elegir siempre el nodo con distancia menor, pueden
quedar excluidos de la búsqueda nodos que en próximas
iteraciones bajarían el costo general del camino al pasar por
una arista con costo negativo).
Características del algoritmo
• Es un algoritmo greddy.(avaricioso, voraz, ávido, codicioso, glotón)
• Trabaja por etapas, y toma en cada etapa la mejor solución sin considerar
consecuencias futuras.
• El óptimo encontrado en una etapa puede modificarse posteriormente si surge una
solución mejor.
Primero marcamos todos los vértices como no
utilizados. El algoritmo parte de un vértice origen que será
ingresado, a partir de ese vértices evaluaremos sus
adyacentes, como dijkstra usa una técnica greedy – La
técnica greedy utiliza el principio de que para que un
camino sea óptimo, todos los caminos que contiene
también deben ser óptimos- entre todos los vértices
adyacentes, buscamos el que esté más cerca de nuestro
punto origen, lo tomamos como punto intermedio y vemos
si podemos llegar más rápido a través de este vértice a los
demás.
Después escogemos al siguiente más cercano (con las distancias ya actualizadas) y
repetimos el proceso. Esto lo hacemos hasta que el vértice no utilizado más cercano sea
nuestro destino. Al proceso de actualizar las distancias tomando como punto intermedio al
nuevo vértice se le conoce como relajación (relaxation).
Como Trabaja
Algoritmo en pseudocódigo
1 método Dijkstra(Grafo,origen):
2 creamos una cola de prioridad Q
3 agregamos origen a la cola de prioridad Q
4 mientras Q no este vacío:
5 sacamos un elemento de la cola Q llamado u
6 si u ya fue visitado continuo sacando elementos de Q
7 marcamos como visitado u
8 para cada vértice v adyacente a u en el Grafo:
9 sea w el peso entre vértices ( u , v )
10 si v no ah sido visitado:
11 Relajacion( u , v , w )
1 método Relajacion( actual , adyacente , peso ):
2 si distancia[ actual ] + peso < distancia[ adyacente ]
3 distancia[ adyacente ] = distancia[ actual ] + peso
4 agregamos adyacente a la cola de prioridad Q
Ejercicios
1
2
60
6
2030 10
20
4
10
5
5
15
3
10 25
1. Se utilizara el algoritmo de Dijkstra para encontrar las distancias más cortas
entre el vértice 1 y los demás vértices del grafo de la Figura 1, y se mostrara
rñ grafo resultante de los caminos más cortos para el vértice 1.
Figura 1
1
2
6
2010
4
10
5
5
15
3
Camino mas corto para la Figura 1

Más contenido relacionado

DOCX
Aplicaciones de los árboles y grafos
PPT
Estructura datos pilas y colas
PPTX
Tipos de listas en estructura de datos
PPTX
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
PPTX
Bucket sort
PPTX
Algoritmo de dijkstra
PPTX
Programación 3: algoritmo de Prim y de Kruskal
PDF
Tipos de datos abstractos
Aplicaciones de los árboles y grafos
Estructura datos pilas y colas
Tipos de listas en estructura de datos
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Bucket sort
Algoritmo de dijkstra
Programación 3: algoritmo de Prim y de Kruskal
Tipos de datos abstractos

La actualidad más candente (20)

PPTX
Presentación OR Problemas de Caminos Más Cortos
PPTX
2.5.3 Algoritmo de Dijkstra.pptx
PPTX
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
PPTX
1.5.1 Representación en memoria estática y dinámica.pptx
PPT
DOCX
Listas como estructura de datos..
PDF
8b Curso de POO en java - paso de diagrama clases a java 1
PPTX
Programación 3: árboles binarios y ordenados
PPS
Pilas y colas
PPTX
Algoritmo prim
DOC
Comandos de raptor
DOCX
conceptos de Punteros y Nodos
PPTX
Mapa Conceptual de Grafos
PPTX
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
DOCX
Recursividad
PPTX
Librerias Básicas y sus Funciones Lenguaje de Programación C
PPTX
4.1 definición del espacio vectorial y sus propiedades
PDF
Ejercicios jacobi
PPT
Algoritmos de kruskal y prim
Presentación OR Problemas de Caminos Más Cortos
2.5.3 Algoritmo de Dijkstra.pptx
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
1.5.1 Representación en memoria estática y dinámica.pptx
Listas como estructura de datos..
8b Curso de POO en java - paso de diagrama clases a java 1
Programación 3: árboles binarios y ordenados
Pilas y colas
Algoritmo prim
Comandos de raptor
conceptos de Punteros y Nodos
Mapa Conceptual de Grafos
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Recursividad
Librerias Básicas y sus Funciones Lenguaje de Programación C
4.1 definición del espacio vectorial y sus propiedades
Ejercicios jacobi
Algoritmos de kruskal y prim
Publicidad

Destacado (8)

PPTX
Algoritmo de dijkstra
PPTX
Algoritmos Voraces - Dijkstra
PPTX
Dijkstra & flooding ppt(Routing algorithm)
PPTX
Dijkstra’s algorithm
PPTX
Dijkstra s algorithm
PPTX
Discrete Mathematics Presentation
PPTX
Dijkstra's algorithm
PPTX
Dijkstra’S Algorithm
Algoritmo de dijkstra
Algoritmos Voraces - Dijkstra
Dijkstra & flooding ppt(Routing algorithm)
Dijkstra’s algorithm
Dijkstra s algorithm
Discrete Mathematics Presentation
Dijkstra's algorithm
Dijkstra’S Algorithm
Publicidad

Similar a Algoritmo dijkstra (20)

PDF
Diferencia entre algoritmo de path finding y algoritmo de dijkstra
PPTX
Algoritmo de dijkstra
PDF
Claseeeeeeeeeeeeeeeeeessssssssssse_PA.pdf
PPTX
PPT
Rutamascorta1
PPTX
Algoritmo a
DOCX
INGENIERIA DE SISTEMAS. ALGORITMO KRUSKAL.
DOCX
Algoritmos
PPTX
Análisis de algoritmos
PPTX
Floyd Prim y Kruscal
PPTX
Presentación_T3_JoséJaén (1).pptx
PPTX
Presentación2
PPTX
PPTX
PPTX
Sistemas inteligentes
PPTX
Algoritmo De Dijkstra
PPTX
Mapa mental Grafos (Gaby Assouad)
DOC
El algoritmo a (asterisco)
Diferencia entre algoritmo de path finding y algoritmo de dijkstra
Algoritmo de dijkstra
Claseeeeeeeeeeeeeeeeeessssssssssse_PA.pdf
Rutamascorta1
Algoritmo a
INGENIERIA DE SISTEMAS. ALGORITMO KRUSKAL.
Algoritmos
Análisis de algoritmos
Floyd Prim y Kruscal
Presentación_T3_JoséJaén (1).pptx
Presentación2
Sistemas inteligentes
Algoritmo De Dijkstra
Mapa mental Grafos (Gaby Assouad)
El algoritmo a (asterisco)

Último (20)

DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PDF
Estrategias de apoyo de tecnología 2do periodo pdf
PDF
Durabilidad del concreto en zonas costeras
PDF
Oficio SEC 293416 Comision Investigadora
PDF
Informe Estudio Final Apagon del 25 de febrero
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PDF
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
PDF
Electricidad-Estatica-Peligros-Prevencion.pdf
PDF
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PDF
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
PDF
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
PPTX
GEOLOGIA, principios , fundamentos y conceptos
PDF
Perfilaje de Pozos _20250624_222013_0000.pdf
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
informacion acerca de la crianza tecnificada de cerdos
Módulo-de Alcance-proyectos - Definición.pdf
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
Estrategias de apoyo de tecnología 2do periodo pdf
Durabilidad del concreto en zonas costeras
Oficio SEC 293416 Comision Investigadora
Informe Estudio Final Apagon del 25 de febrero
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
Electricidad-Estatica-Peligros-Prevencion.pdf
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
NILS actividad 4 PRESENTACION.pptx pppppp
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
GEOLOGIA, principios , fundamentos y conceptos
Perfilaje de Pozos _20250624_222013_0000.pdf
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...

Algoritmo dijkstra

  • 1. República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Instituto Universitario Politécnico Santiago Mariño Algoritmo de Dijkstra Profesor: Autor: Oscar Sandoval Osmar Gutiérrez C.I.: 23.950.327
  • 2. Algoritmo de Dijkstra El algoritmo de Dijkstra, también llamado algoritmo de caminos mínimos, es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de vértices en un grafo con pesos en cada arista. Su nombre se refiere a Edsger Dijkstra, quien lo describió por primera vez en 1959. El algoritmo es una especialización de la búsqueda de costo uniforme, y como tal, no funciona en grafos con aristas de costo negativo (al elegir siempre el nodo con distancia menor, pueden quedar excluidos de la búsqueda nodos que en próximas iteraciones bajarían el costo general del camino al pasar por una arista con costo negativo).
  • 3. Características del algoritmo • Es un algoritmo greddy.(avaricioso, voraz, ávido, codicioso, glotón) • Trabaja por etapas, y toma en cada etapa la mejor solución sin considerar consecuencias futuras. • El óptimo encontrado en una etapa puede modificarse posteriormente si surge una solución mejor.
  • 4. Primero marcamos todos los vértices como no utilizados. El algoritmo parte de un vértice origen que será ingresado, a partir de ese vértices evaluaremos sus adyacentes, como dijkstra usa una técnica greedy – La técnica greedy utiliza el principio de que para que un camino sea óptimo, todos los caminos que contiene también deben ser óptimos- entre todos los vértices adyacentes, buscamos el que esté más cerca de nuestro punto origen, lo tomamos como punto intermedio y vemos si podemos llegar más rápido a través de este vértice a los demás. Después escogemos al siguiente más cercano (con las distancias ya actualizadas) y repetimos el proceso. Esto lo hacemos hasta que el vértice no utilizado más cercano sea nuestro destino. Al proceso de actualizar las distancias tomando como punto intermedio al nuevo vértice se le conoce como relajación (relaxation). Como Trabaja
  • 5. Algoritmo en pseudocódigo 1 método Dijkstra(Grafo,origen): 2 creamos una cola de prioridad Q 3 agregamos origen a la cola de prioridad Q 4 mientras Q no este vacío: 5 sacamos un elemento de la cola Q llamado u 6 si u ya fue visitado continuo sacando elementos de Q 7 marcamos como visitado u 8 para cada vértice v adyacente a u en el Grafo: 9 sea w el peso entre vértices ( u , v ) 10 si v no ah sido visitado: 11 Relajacion( u , v , w ) 1 método Relajacion( actual , adyacente , peso ): 2 si distancia[ actual ] + peso < distancia[ adyacente ] 3 distancia[ adyacente ] = distancia[ actual ] + peso 4 agregamos adyacente a la cola de prioridad Q
  • 6. Ejercicios 1 2 60 6 2030 10 20 4 10 5 5 15 3 10 25 1. Se utilizara el algoritmo de Dijkstra para encontrar las distancias más cortas entre el vértice 1 y los demás vértices del grafo de la Figura 1, y se mostrara rñ grafo resultante de los caminos más cortos para el vértice 1. Figura 1 1 2 6 2010 4 10 5 5 15 3 Camino mas corto para la Figura 1