Está en la página 1de 11

EVALUACIÓN DISTANCIA- MOMENTO 3

TEORIA DE GRAFOS

ESTUDIANTE: ELKIN JAVIER ARROYO FIGUEROA

CÓDIGO: 2254627

T.I: 1007211109

DOCENTE: MARIO DUSTANO CONTRERAS CASTRO

UNIVERSIDAD SANTO TOMÁS VICERRECTORÍA DE


UNIVERSIDAD ABIERTA Y A DISTANCIA

INGENIERIA EN INFORMATICA

CENTRO DE ATENCIÓN UNIVERSITARIO (CAU) MONTERIA


(MONTERIA) 01/11/ 2020
INTRODUCCION

La ingeniería abarca todos aquellos procesos de forma sistemática el


cual involucra los métodos y términos en el que se deben
comprender los lenguajes programáticos, entendiendo eso,
abarcamos en el tema principal de este segundo momento de la
evaluación distancia.
La teoría de grafos también llamada teoría de las gráficas, es una
disciplina que es importante tanto para las matemáticas como para la
teoría de la computación. En esta última disciplina todo es manejado
a través de los grafos que son estructuras discretas que constan de
puntos y de líneas que se conectan entre sí. En esta era de las
Tecnologías de Información y Comunicación es necesario el acceso
a repositorios electrónicos de información ordenada, distribuida
común y compartida con el fin que el aprendizaje se lleve a un nivel
donde el estudiante mediante el uso de una herramienta de apoyo,
logre adquirir y adueñarse de este, pudiendo así lograr un
aprendizaje significativo y que al mismo tiempo puedan explotar las
ventajas que ofrecen las TIC como recursos en cuanto a la Teoría de
Grafos.
OBJETIVOS

OBJETIVO ESPECÍFICO: Investigar y comprender cada concepto de teoría


de grafo para realizar la evaluación distancia y completar la entrega
correctamente.

OBJETIVOS ESPECIFICOS:

 Estudiar la temática de Teoría de Grafos momento 3


 Completar la entrega de forma correcta
 Repasar conceptos en java para hacer un trabajo de forma eficiente
 Colocar el máximo esfuerzo en este último momento distancia
ACTIVIDAD A DESARROLLAR

Tercer Momento de Evaluación, Algoritmo de Prim del árbol de expansión,


implementar algoritmo en Python o java

package algoritmo_prim;

import java.util.ArrayList;

public class Algoritmo_Prim

public static int [][] Algoritmo_Prim(int [][] MatrizOriginal)

ArrayList<Boolean> verticesVisitados = new ArrayList<Boolean>();

ArrayList<Integer> distanciasRelativas = new ArrayList<Integer>();

ArrayList<Integer> nodosAdyacentes = new ArrayList<Integer>();

for(Integer contador=0;contador < MatrizOriginal[0].length;contador++)

verticesVisitados.add(false);

nodosAdyacentes.add(0);

distanciasRelativas.add(Integer.MAX_VALUE);

distanciasRelativas.set(0, new Integer(0));


Integer puntoevaluado = 0;

Integer Adyacentes = 0;

for(Integer contadorpuntoevaluado = 0;contadorpuntoevaluado <


MatrizOriginal[0].length;contadorpuntoevaluado++)

for(Integer contadorAdyacentes = 0;contadorAdyacentes <


MatrizOriginal[0].length;contadorAdyacentes++)

if((verticesVisitados.get(contadorAdyacentes)) || (contadorAdyacentes ==
puntoevaluado))

continue;

if((MatrizOriginal[puntoevaluado][contadorAdyacentes] > 0) &&


((MatrizOriginal[puntoevaluado][contadorAdyacentes] <
distanciasRelativas.get(contadorAdyacentes))))

distanciasRelativas.set(contadorAdyacentes, MatrizOriginal[puntoevaluado]
[contadorAdyacentes]);

nodosAdyacentes.set(contadorAdyacentes,puntoevaluado);

verticesVisitados.set(puntoevaluado,true);
puntoevaluado = new Integer(0);

Integer distanciaActualacomparar = new Integer(Integer.MAX_VALUE);

for(Integer contador =1;contador < verticesVisitados.size();contador++)

if(verticesVisitados.get(contador))

continue;

if(distanciasRelativas.get(contador) < distanciaActualacomparar)

distanciaActualacomparar = distanciasRelativas.get(contador);

puntoevaluado = contador;

int [][] matrizResultane =new int [MatrizOriginal[0].length]


[MatrizOriginal[0].length];
for(int contador = 0;contador < nodosAdyacentes.size();contador++)

matrizResultane[contador][nodosAdyacentes.get(contador)] =
MatrizOriginal[contador][nodosAdyacentes.get(contador)];

matrizResultane[nodosAdyacentes.get(contador)][contador] =
matrizResultane[contador][nodosAdyacentes.get(contador)];

return matrizResultane;

public static void main(String[] args)

int [][] MMatrizOriginal ={{0, 4, 7, 6, 0, 0},

{4, 1, 0, 3, 4, 0},

{7, 0, 0, 1, 3, 8},

{6, 2, 1, 0, 10, 0},

{0, 3, 0, 10, 0, 12},

{0, 2, 8, 0, 12, 0}

};

System.out.println("MATRIZ ORIGINAL");

for(int contadorHorizontal = 0; contadorHorizontal <


MMatrizOriginal[0].length;contadorHorizontal++)
{

for(int contadorVertical = 0;contadorVertical <


MMatrizOriginal[0].length;contadorVertical++)

System.out.print(MMatrizOriginal[contadorHorizontal][contadorVertical] + "
");

System.out.println();

int [][] MatrizFinal = Algoritmo_Prim(MMatrizOriginal);

System.out.println("MATRIZ RESULTANTE");

for(int contadorHorizontal = 0; contadorHorizontal <


MatrizFinal[0].length;contadorHorizontal++)

for(int contadorVertical = 0;contadorVertical <


MatrizFinal[0].length;contadorVertical++)

System.out.print(MatrizFinal[contadorHorizontal][contadorVertical] + " ");

System.out.println();

}
}

teoria.zip

disgrafo.zip
CONCLUSION

Se ha concluido el trabajo de manera efectiva y eficiente; se cumplieron todos


los objetivos, por lo tanto se tiene un sentimiento satisfactorio de haber
cumplido todo de esta manera.

También podría gustarte