miércoles, 12 de noviembre de 2008

Problema 1 Practica 2

public static void main(String[ ] args) {
int [ ] size = {10000, 100000, 1000000, 10000000};
ProblemaBusqueda busquedaProblema;
BusquedaLineal bl;
BusquedaBinaria bb;
Temporizador t;
// TODO Crear un objeto temporizador; el argumento del
// constructor es numPruebas
t = new Temporizador(5);

for (int i = 0; i < 4; i++) {
// TODO Generar un problema para el tamaño dado
busquedaProblema = new ProblemaBusqueda(size[ i],1);

for (int j = 0; j < 3; j++) {
// TODO Establecer un caso para el tamaño de problema generado
busquedaProblema.setCaso(j);

// TODO Crea un objeto solución siguiendo la estrategia de la
// búsqueda lineal. Este objeto implementa la interfaz
// Temporizable
bl = new BusquedaLineal(busquedaProblema);

// TODO Crea un objeto solución siguiendo la estrategia de la
// búsqueda dicotómica. Este objeto implementa la interfaz
// Temporizable
bb = new BusquedaBinaria(busquedaProblema);

// TODO Imprimir el problema
System.out.print("Tamaño: "+size[ i]+" Problema:"+j+" NumBus: "+busquedaProblema.getNumBuscado());

// TODO Ejecutar la busqueda lineal, midiendo su tiempo de
// ejecución
t.cronometra(bl);

// TODO Imprimir la solución encontrada
// y el tiempo de ejecución
System.out.print(" Tiempo mínimo Lineal: "+t.getTiempoMinimo());

// TODO Ejecutar la busqueda dicotómica, midiendo su tiempo de
// ejecución
t.cronometra(bb);

// TODO Imprimir la solución encontrada
// y el tiempo de ejecución
System.out.println(" Tiempo mínimo Dicotomico: "+t.getTiempoMinimo());
}
}
}


public ProblemaBusqueda(int numElem, int casoDeBusqueda) {

// TODO
this.numElem=numElem;
this.casoDeBusqueda=casoDeBusqueda;
this.datos= new int[ this.numElem];
this.inicializaDatos();
this.generaNumBuscado();

}

public void setCaso(int casoBusqueda) {

// TODO
this.casoDeBusqueda=casoBusqueda;
this.generaNumBuscado();
}

No hay comentarios: