Análisis e implementación del código fuente relacionado a Grafos
Enviado por Miriam • 25 de Abril de 2022 • Resumen • 618 Palabras (3 Páginas) • 110 Visitas
[pic 1]
Grafos
Análisis e implementación del código fuente relacionado a Grafos:
1. En este caso vamos a evaluar el siguiente caso: Tenemos un Grafo Conexo de 4 vértices:[pic 2]
2. Código comentado
import java.util.Scanner;
public class Grafo { //Creación de la clase Grafo
private int A[][]; //Creación de la matriz privada A
private int B[][]; //Creación de la matriz privada B
public Grafo() { //Método constructor de las matrices A y B this.A= new int [6][6]; //Indicamos el orden de la Matriz A this.B= new int [6][6]; //Indicamos el orden de la Matriz A
}
public void Introducir(){ //Creación del método introducir
//Este método se crea para asignar el tamaño de la Matriz A Scanner valores = new Scanner(System.in); //Llamada del método
Scanner
int tam=0;
for (int i=1;i<=5;i++) { // El bucle for evalua para vértices adyacentes menores que 5 y mayor que 1
System.out.print("Da el numero de vertices adyasentes al vertice
"+i+" :");
tam = valores.nextInt();
if(tam!=0 && tam<=5) { // Se ingresa vértices adyacentes
diferentes de 0 y solo evalua hasta 5 vértices
System.out.println("Da los vertices adyasentes: ");
for(int j=1;j<=tam;j++) { // El bucle for evalua para
vértices adyacentes menores que 5
int dato=valores.nextInt(); A[i][dato]=1;
}
} else {
if(tam>5) // Excepción si en número de vértices es mayor a
5
System.out.println("No pueden ser el numero dado");
}
}
}
public void Muestra() { //Creación del método muestra la matriz de adyacente
System.out.println("\nEsta es la matriz de adyacencia");
for(int i=1;i<=5;i++) { //Doble bucle for para imprimir la matriz adyacente
for(int j=1;j<=5;j++) { System.out.print(" "+A[i][j]);
}
System.out.print("\n"); // Salto de línea
}
}
public void Conexo() {
//Método
//El grafo será conexo si existe un camino desde cualquier nodo del grafo hasta cualquier otro.
boolean ban;
int cont=0;
for(int i=1;i<=5;i++) {//P
ban=false;
for(int j=1;j<=5;j++) {
if (A[i][j]==1)
ban=true;
}
if (ban==true)
cont=cont+1;
}
Conexo
}
//Después de 5 iteraciones donde A[i][j]==1 el grafo es Conexo
if (cont==5) {
System.out.println("\nEl grafo SI es Conexo");
...