Oi Gabriel,
Muito bom você ter perguntado!
Sobre a questão do guloso, eu ainda não entendi por que não funciona
Antes de mais nada temos que ver se estamos falando do mesmo algoritmo guloso.
A denominação algoritmo guloso é muitas vezes usada para paradigmas diferentes de algoritmos.
Digamos que um algoritmo guloso é um algoritmo que não se arrepende de suas decisões.
No caso do caminho mínimo de um determinado vértice origem s a um vértice destino t, o algoritmo é iterativo.
No início de cada iteração temos um caminho (como o algoritmo ativo na DFS).
No início da primeira iteração, o caminho é composto apenas do vértice origem s.
Cada iteração consiste em:
- pegar o vértice
vque é ponta final do caminho; - examinar todos os arcos
v-wsaindo do vérticev; - selecionar o vértice o arco
v-wmais leve/curto/barato saindo dev; - inserir
wno final do caminho; - começar nova iteração (com
wno papel dev).
O algoritmo pára quando chegamos ao vértice destino t.
É isso que você está considerando como guloso?