Please enable JavaScript.
Coggle requires JavaScript to display documents.
Mapa Mental 12 - Coggle Diagram
Mapa Mental 12
Algoritmo de Dijkstra
-
Usado para descobrir o menor caminho possível entre a fonte(source) e um vértice qualquer de um grafo ponderado
Implementação
Implementado usando matris/listas de incidência + uma fila de prioridade, que pode ser implementada via heap
Basicamente, o algoritmo começa de um vértice escolhido como a fonte, e assim será calculada a menor distância dessa fonte para cada um dos outros vértices
A partir da fonte (visitada), o algoritmo define o menor caminho para seus vértices adjecentes (não-visitados), e irá seguir para o vértice que lhe pesará menos
-
Nessa passagem, esse vértice adjecente escolhido será marcado como visitado
-
Ao realizar o mesmo processo feito no vértice pai (nesse caso, a fonte s), o algoritmo irá comparar se a distância entre v e cada um de seus vértices adjecentes (D(v,x)) é maior ou não que a distância entre s e esses mesmos vértices (D(s,x))
-
Se a distância D(v,x) for menor que D(s,x), então tudo continua igual
Após isso o processo se repete; o vértice é definido como visitado e o algoritmo escolhe o próximo vértice para visitar via fila de prioridade, e assim por diante, até achar a menor distância para cada um dos vértices
Se D(v,x) for maior que D(s,x), então a nova distância D(v,x) será a de D(s,x)
-
Vértices que não são adjecentes tem a distância igual a ∞, ou seja um número extremamente grande, ou só um símbolo mesmo
-