public CWarshall(CGrafo grafo) { G = grafo; n = grafo.getNumeroVertices(); C = G.getMatrizAdyacencia().getMatriz(); D = new bool[n, n]; }
//Algoritmo de matrices de G y H public bool algoritmoMatrices() { bool isomorficos = false, continua = true; int colG = 0, n = G.getListaAdyacencia().Count; CMatrizAdyacencia MG = G.getMatrizAdyacencia(); CMatrizAdyacencia MH = new CMatrizAdyacencia(n); MH.setMatriz(copiaMatriz(H.getMatrizAdyacencia().getMatriz(), n)); while (colG < n && continua) { if (encuentraSemejante(MG, ref MH, colG, n)) { if (matricesIguales(MG, MH, n)) { isomorficos = true; continua = false; } else { colG++; } } else { continua = false; } } if (colG == n || !matricesIguales(MG, MH, n))//Si se recorrieron todas las columnas de G { isomorficos = false; } return(isomorficos); }
private void BotonPG_Click(object sender, EventArgs e) { if (grafo_activo != null) { Propiedades p = new Propiedades(grafo_activo.getListaAdyacencia(), grafo_activo.getListaAristas(), grafo_activo.getMatrizAdyacencia(), grafo_activo.getMatrizIncidencia(), grafo_activo.getNumeroAristas(), grafo_activo.getNumeroVertices()); p.ShowDialog(); } }