Edit page

Algoritmos (Cheat Sheet)

Algoritmo Complexidade
DFS* O(V+E)O(V + E)
SCCs (algoritmo abordado) O(V+E)O(V+E)
BFS O(V+E)O(V + E)
Dijkstra O((V+E)logV)O((V+E)\log V)
Bellman-Ford O(VE)O(VE)
Johnson (Bellman-Ford + VV aplicações de Dijkstra) O(VE+V(V+E)logV)O(V(V+E)logV)O(VE + V(V + E)\log V) \in O(V(V + E)\log V)
Prim O((V+E)logV)O((V + E)\log V)
Kruskal O(ElogV)O(E\log V)
Método* Ford Fulkerson O(fE)O(\vert f^*\vert E)
Edmonds-Karp min(O(VE2),O(fE))\min(O(VE^2), O(\vert f^*\vert E)) *
Push-Relabel O(V2E)O(V^2E)
Relabel-to-Front O(V3)O(V^3)

* A DFS pode ser diretamente aplicada para encontrar uma ordenação topológica num dado grafo.
* Não é verdadeiramente um algoritmo - não indica como escolher o caminho.
* Edmonds-Karp corresponde a uma implementação do Método Ford-Fulkerson, preservando portanto a sua upper-bound: o majorante relevante será aqui o menor, claro.