Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorio2 2LISTAYADYACENCIA Estructuranolineal
Laboratorio2 2LISTAYADYACENCIA Estructuranolineal
Lineales
Ciencias de la computación e
Inteligencia Artificial Ejercicios matrices
Sebastián Florido
Cód. Fecha: 16-09-2021
Carlos Rojas
Enunciado
Implementar una aplicación en Java, para la representación de grafos mediante listas de adyacencia para:
Ejemplo.
Entrada
Grafo: V={1,2,3,4,5}
E={(1,2),(1,3),(2,3),(2,4),(2,1),(2,5),(3,1),(3,2),(4,5),(4,2),(5,2),(5,4)}
Salida
Lista de adyacencia Grafo no dirigido
1 2 3
2 3 4 1 5
3 1 2
4 5 2
5 2 4
Salida Grafo con vértices conectados entre sí y con un peso aleatorio entre el 1 y 15
Nodo
-vertice: int Grafo
-siguiente: Nodo
-arreglo: Nodo[*]
+Nodo()
+getVertice(): int +Grafo()
+setVertice(vertice: int) +agregar(i: int, dato: int)
+getSiguiente(): Nodo +listar()
+setSiguiente(siguiente: Nodo)
ListaAdyacenciaGrafo
+main(args: String)
Diagrama de clases UML
Programa fuente
Control
public class Launcher {
public Launcher() {
lector = new EntradaSalida();
}
lector.imprimirInformacion("\nIngresar vertices");
int masconexiones = 1;
lector.imprimirInformacion("\nPara ingresar los vertices debe ingresarlos asi: salida,llegada. EJ: 1,2");
do
{
try{
lector.imprimirInformacion("\nVertices");
String vertices = lector.leerTexto();
int v1 = Integer.parseInt(pedir[0]);
int v2 = Integer.parseInt(pedir[1]);
m.agrega(v1, v2);
lector.imprimirInformacion("\ncontinuar?");
masconexiones = lector.leernumero();
}catch(Exception e)
{
System.out.println("\nVertices mal ingresados");
}
}while(masconexiones!=0);
m.mostrar();
}
}
Modelo
public class Modelo {
if(arreglo[i].getVertice()==v)
{
for(int j=0; j<arreglo.length;j++)
{
if(arreglo[j].getVertice()==dato)
{
arreglo[i].agregar(dato);
encontrado=true;
}
}
}
}
if(encontrado==false)
{
System.out.println("Alguno de los vertices que ingreso no esta en los vertices ingresasdos");
}
}
System.out.println("\nGrafo dirigido");
System.out.println("Lista de adyacencia\n");
vista
public class EntradaSalida {
public EntradaSalida() {
leer = new Scanner(System.in);
}
Pruebas
Herramientas ingenieriles
StartUml
Java
Netbeans
Word
Conclusiones
Gracias a la implementación de este programa se pudo saciar la necesidad de un mejor control y supervisión de
la actualización de datos de los estudiantes del departamento de ingeniería y ciencias exactas, puesto que hemos
proporcionado la respectiva información para que de esta manera sea mas fácil la obtención de su información
básica y la gestión de sus datos.
Hemos entendido de una mejor manera el uso y aplicación de la estructura modelo, vista, controlador, ya que se
proporciona la información deseada por el usuario sin la intervención de la demostración de aquellos procesos
internos y la segmentación de las diferentes estructuras usadas e implementadas para que el sistema funcione
adecuadamente. Lo anterior basándonos en el “Divide y vencerás”.
Bibliografía
https://docs.oracle.com/javase/10/docs/api/overview-summary.html