Curso Algoritmos em Grafos
Algoritmo de Dijkstra
Nesta lição, aprenderemos como encontrar caminhos mínimos em grafos ponderados usando o Algoritmo de Dijkstra. Vamos resolver o seguinte problema:
Dado um grafo conexo não direcionado
Considere que
Para resolver este problema, utilizaremos o Algoritmo de Dijkstra. Este algoritmo consiste em várias etapas. Enquanto simulamos estes passos, vamos manter dois vetores:
: o menor caminho encontrado até agora de para : , se e somente se, já encontramos o menor caminho de para
Inicialmente, só conhecemos a distância de
- Tome o vértice
com a menor distância que ainda não tenha sido marcado - Defina
como - Itere por todos os vizinhos
de e defina para
Este é o Algoritmo de Dijkstra. Agora vamos compreender o nosso algoritmo passo a passo de uma forma mais profunda, provar algumas partes do mesmo e aprender as formas de o implementar.