Edit page

Algoritmos (Cheat Sheet)

AlgoritmoComplexidade
DFS*O(V+E)O(V + E)
SCCs (algoritmo abordado)O(V+E)O(V+E)
BFSO(V+E)O(V + E)
DijkstraO((V+E)log⁡V)O((V+E)\log V)
Bellman-FordO(VE)O(VE)
Johnson (Bellman-Ford + VV aplicações de Dijkstra)O(VE+V(V+E)log⁡V)∈O(V(V+E)log⁡V)O(VE + V(V + E)\log V) \in O(V(V + E)\log V)
PrimO((V+E)log⁡V)O((V + E)\log V)
KruskalO(Elog⁡V)O(E\log V)
Método* Ford FulkersonO(∣f∗∣E)O(\vert f^*\vert E)
Edmonds-Karpmin⁡(O(VE2),O(∣f∗∣E))\min(O(VE^2), O(\vert f^*\vert E)) *
Push-RelabelO(V2E)O(V^2E)
Relabel-to-FrontO(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.