ESTE ES MI CODIGO LE INGRESO UNA MATRIZ DE NxN de un GRAFO NO DIRIGIDO, LO QUE NECESITO QUE ME AYUDEN ES COMO HAGO PARA RECORRER ESA MATRIZ Y DECIR SI EL GRAFO ES CONEXO O NO
TEORIA GRAFO CONEXO
un grafo es conexo si existe un camino de un nodo hacia cualquier otro nodo del grafo
package matriz_adyacencia;
/**
*
* @author PAPAYO
*/
public class Matriz_Adyacencia {
/**
* @param args the command line arguments
*/
public static void main
(String[] args
) { Matriz_de_adyacencia matriz = new Matriz_de_adyacencia(5);
matriz.agregar(0, 1);
matriz.agregar(0, 1);
matriz.agregar(0, 2);
matriz.agregar(0, 3);
matriz.agregar(1, 0);
matriz.agregar(1, 0);
matriz.agregar(1, 4);
matriz.agregar(2, 0);
matriz.agregar(2, 3);
matriz.agregar(2, 4);
matriz.agregar(3, 0);
matriz.agregar(3, 2);
matriz.agregar(4, 1);
matriz.agregar(4, 2);
matriz.agregar(4, 4);
matriz.agregar(4, 4);
matriz.imprimir();
}
}
package matriz_adyacencia;
public class Matriz_de_adyacencia {
public int n;
public int[][] matriz;
/**
* Constructor de clase
* @param n numero de nodos
*/
public Matriz_de_adyacencia(int n) {
this.n = n;
matriz = new int[this.n][this.n];
//se inicializa matriz en 0
for(int i=0; i< n; i++){
for(int j=0; j< n; j++){
matriz[i][j] = 0;
}
}
}
public void agregar(int i, int j){
matriz[i][j] += 1;
}
public void remover(int i, int j){
if(matriz[i][j]>0)
matriz[i][j] -= 1;
}
public void imprimir(){
for(int i=0; i< n; i++){
for(int j=0; j< n; j++){
System.
out.
print( matriz
[i
][j
] + " " ); }
}
}
}
ESPERO QUE ME AYUDEN GRACIASS