/** * Add os nodos e arestas no grafo * @param no1 * @param no2 * @param peso */ public void AddNoEAresta(No no1, No no2, int peso) { if (nodosHashMap.ContainsKey(no1.id)) { no1 = nodosHashMap.GetValueOrDefault(no1.id); } else { nodosList.Add(no1); nodosHashMap.Add(no1.id, no1); } if (nodosHashMap.ContainsKey(no2.id)) { no2 = nodosHashMap.GetValueOrDefault(no2.id); } else { nodosList.Add(no2); nodosHashMap.Add(no2.id, no2); } Aresta aresta = new Aresta(no1, no2, peso); arestasList.Add(aresta); // Add a aresta na lista no1.addNoAdj(aresta); // Add a lista da matriz de adjacencia no no1 no2.addNoAdj(aresta); // adicionar a matriz de lista de adjacência para no2 }
public void addNoAdj(Aresta adj) { this.listaArestasAdj.Add(adj); }