ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Analisis del programador


Enviado por   •  29 de Febrero de 2016  •  Apuntes  •  1.098 Palabras (5 Páginas)  •  105 Visitas

Página 1 de 5

PROGRAMA DEL ALGORITMO DE PRIM

package algoritmoprim;

/**

*

* @author khuertas

*/

import java.util.*;

class AlgoritmoPrim{

int matrizadyacencia[ ][ ];    // CREAMOS LA MATRIZ QUE VA A CONTENER EL GRAFICO.

int vertices,e;   //CREAMOS LAS VARIABLES A UTILIZAR.

int d[ ],p[ ],visitados[ ];   // DECLARAMOS 3 VECTORES.

void crearGrafo() // PRIMER METODO PARA LA CREACION DEL GRAFICO.

{

int a,b,peso;[pic 1]

Scanner kbd=new Scanner(System.in);

System.out.println("Digite el número de Vertices");

vertices=kbd.nextInt();

System.out.println("Digite el numero de Aristas");

e=kbd.nextInt();

matrizadyacencia=new int[vertices+1][vertices+1]; //DECLARAMOS LA MATRIZ CON LAS VARIABLES DE CREACION DE FILAS VERTICES+1  Y COLUMNAS VERTICES+1 COLUMNAS

for (int i=1;i<=vertices;i++)   //EMPEZAMOS INICIALIZANDO LA MATRIZ CON CERO TANTO PARA LAS FILAS COMO PARA LAS COLUMNAS.

for (int j=1;j<=vertices;j++)

matrizadyacencia[i][j]=0;

for (int i=1;i<=e;i++)

{

System.out.println("Que Vertices desea conectar");[pic 2]

a=kbd.nextInt();

b=kbd.nextInt();

System.out.println("El peso de la arista es?:");

peso=kbd.nextInt();

matrizadyacencia[a][b]=matrizadyacencia[b][a]=peso;

}

}

void callprim()

{

visitados = new int[vertices+1];

d=new int[vertices+1];

p=new int[vertices+1];

for(int i=1;i<=vertices;i++)

p[i]=visitados[i]=0; //INICIALIZAMOS P Y VECTOR VISITADO EN 0

for (int i=1;i<=vertices;i++)

d[i]=10000; //INICIALIZAMOS EL VECTOR D CON NUMEROS GRANDES PARA QUE TOME COMO BASE EL MISMO.

prim();  //HACEMOS EL LLAMADO AL METODO.

}

void prim()

{

int c,current,mincost=0; // INICIALIZAMOS LA VARIABLE MINCOSTOS EN 0 Y SERÁ LA VARIABLE QUE CONTENGA LA SOLUCION.

current=1;  //VERTICE

visitados[current]=1;  //HACE AL VERTICE 1 COMO PRIMERO

d[current]=0;

c=1;

while(c!=vertices)

{

for(int i=1;i<=vertices;i++)

{

if(matrizadyacencia[current][i]!=0 && visitados[i]!=1)

if(matrizadyacencia[current][i]

{

d[i]=matrizadyacencia[current][i];

p[i]=current;

}

}

int min=10000;

for(int i=1;i<=vertices;i++)[pic 3]

{

if(visitados[i]!=1 && d[i]

{

min=d[i];

current=i;

}

}

visitados[current]=1; //ASIGNA AL VERTICE VISITADO CON 1

c=c+1;

}

for(int i=1;i<=vertices;i++)[pic 4]

mincost +=d[i];

System.out.println("Minimo Costo: ="+mincost);

}

public static void main(String args[])

{

AlgoritmoPrim g=new AlgoritmoPrim();

g.crearGrafo();

g.callprim();

}

}

PRUEBA DE ESCRITORIO

[pic 5]

[pic 6][pic 7][pic 8]

        [pic 9]

[pic 10][pic 11]

[pic 12][pic 13][pic 14]

        MENOR COSTO:    6

        

PROGRAMA DEL LABERINTO

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */

package laberinto;

/**

 *

 * @author khuertas

 */

public class Laberinto {

    static final char ocupado='█';

    static final char libre='L';

    static final char marca='*';[pic 15]

...

Descargar como (para miembros actualizados) txt (6 Kb) pdf (251 Kb) docx (128 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com