Pseudocódigo do algoritmo de Bellmand-Ford algBellman-Ford(G=(V,E), c, s) { para v em V A[0, v] = +\infinity A[0, s] = 0 para i = 1 até n-1 para v em V A[i, v] = min { A[i-1, v] , min_{(w,v) \in E} {A[i-1, w] + c(w,v) } } valores em A[n-1, v] } Eficiência: - \Theta(mn) - note que são \Theta(n^2) subproblemas que devem ser resolvidos - mas o custo para resolver cada subproblema não é constante - tal custo é \Theta(\delta_in(v)) para o vértice v cujo subproblema está sendo resolvidos - isso porque é necessário consultar um número de posições da matriz proporcional ao número de arestas incidentes em v - focando em uma iteração do laço mais externo, temos que o número de operações ao longo da execução do laço interno será da ordem \sum_{v em V} (|\delta_in(v)| + 1) = \Theta(m) - como o laço mais interno é executado \Theta(n) vezes, o tempo total do algoritmo é da ordem \Theta(nm)