Caminhos mínimos
Relaxação, Dijkstra, Bellman-Ford, DAG, Floyd-Warshall e Johnson, com condições e reconstrução.
Relaxação
, restantes . Relaxar testa com finito. Cada valor finito é custo de caminho conhecido, um limite superior. Atualiza predecessor só em melhoria estrita.
Escolher o método
| Situação | Método | Hipótese | Custo |
|---|---|---|---|
| Pesos não negativos, uma origem | Dijkstra | Fixa menor provisório; prova usa não negatividade do resto | ; denso com matriz |
| Pesos arbitrários, uma origem | Bellman-Ford | passagens; extra com melhoria denuncia ciclo negativo alcançável | |
| DAG, uma origem | Ordem topológica | Todos antecessores antes; admite negativos | |
| Todos os pares, denso | Floyd-Warshall | exterior; diagonal negativa denuncia ciclo | , espaço |
| Todos os pares, esparso | Johnson | Sem ciclos negativos; repesa com |
Condições que decidem
- Dijkstra fixa cedo demais com , , : fixa 2 e perde 1. Ausência de ciclo negativo não chega.
- Bellman-Ford: passagens contemplam todos os caminhos com até arestas; a versão in-place pode antecipar melhorias na mesma passagem. Uma passagem extra com melhoria desde a origem denuncia ciclo negativo alcançável.
- Ciclo negativo alcançável deixa pares sem mínimo finito; não devolvas cadeia como caminho mínimo.
- DAG: não somes infinito de vértices antes da origem.
- Floyd: . Inicializa com menor paralelo e autoaresta negativa. Guarda
nextpara reconstruir. - Johnson: com de Bellman-Ford desde ; recupera . Somar constante a todas as arestas não preserva mínimos.