static void initialize_single_source(Grafoh g, Vertice s) { foreach (KeyValuePair <int, Vertice> v in g.get_vertices()) { v.Value.set_distancia(int.MaxValue); } s.set_distancia(0); }
static void relax(Vertice u, Vertice v) { int distancia = u.get_distancia() + u.get_peso(v); if (v.get_distancia() > distancia) { v.set_distancia(distancia); v.set_vertice_caminho_anterior(u); //Console.WriteLine("Atualizei a distância " + distancia + " do vértice " + u.get_id() + " para o vértice " + v.get_id()); } else { //Console.WriteLine("NÃO atualizei a distância " + distancia + " do vértice " + u.get_id() + " para o vértice " + v.get_id()); } }