La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

BUSQUEDAS BINARIAS Y SECUENCIALES Hernández Salazar Alma Pérez González Luis Alberto Villa Méndez Edgar Adrián Villegas Titla Jorge Ramsés Ríos Álvarez.

Presentaciones similares


Presentación del tema: "BUSQUEDAS BINARIAS Y SECUENCIALES Hernández Salazar Alma Pérez González Luis Alberto Villa Méndez Edgar Adrián Villegas Titla Jorge Ramsés Ríos Álvarez."— Transcripción de la presentación:

1 BUSQUEDAS BINARIAS Y SECUENCIALES Hernández Salazar Alma Pérez González Luis Alberto Villa Méndez Edgar Adrián Villegas Titla Jorge Ramsés Ríos Álvarez Jesús Alberto

2 METODOS DE BUSQUEDA ¿QUE SON? La búsqueda de información está relacionada con las tablas para consultas. Estas tablas contienen una cantidad de información que se almacenan en forma de listas de parejas de datos. Por ejemplo un catálogo con una lista de libros de matemáticas, en donde es necesario buscar con frecuencia elementos en una lista. Existen diferentes tipos de búsqueda, pero en esta presentación describiremos sólo la de tipo Secuencial y Binaria.

3 METODO DE BUSQUEDA SECUENCIAL Este método se usa para buscar un elemento de un vector, es explorar secuencialmente el vector, es decir; recorrer el vector desde el primer elemento hasta el último. Si se encuentra el elemento buscado se debe visualizar un mensaje similar a “Fin de Búsqueda” o “Elemento encontrado” y otro que diga “posición=” en caso contrario, visualizar un mensaje similar a “Elemento no existe en la Lista”.

4 Este tipo de búsqueda compara cada elemento del vector con el valor a encontrar hasta que este se consiga o se termine de leer el vector completo.

5 import jeliot.io.*; import java.util.*; //created by igoodbad public class BusquedaSecuencial { public static String buscarNumero(int bNumber, int vector[]){ String mNumber=" "; for(int i=0;i<vector.length;i++){ if(vector[i]==bNumber){ mNumber+="El mumero "+bNumber+" se encuentra en la posicion "+i+ " del vector.\n"; } if(mNumber.equals(" "))return "El numero "+bNumber+"\nNo esta en el vector"; else return mNumber; } public static void main() { int[] vector = {1,2,3,4,5,6,7,8,9,10}; int NumBuscar=0; Scanner sc = new Scanner(System.in); System.out.print("Introduce un numero a buscar: "); NumBuscar= sc.nextInt(); System.out.print(buscarNumero(NumBuscar, vector)); }

6 METODO DE BUSQUEDA BINARIA Es un método que se basa en la división sucesiva del espacio ocupado por el vector en sucesivas mitades, hasta encontrar el elemento buscado. Esta búsqueda utiliza un método de “divide y vencerás” para localizar el valor deseado. Con este método se examina primero el elemento central de la lista; si este es el elemento buscado entonces la búsqueda ha terminado

7 . En caso contrario se determina si el elemento buscado está en la primera o segunda mitad de la lista y a continuación se repite el proceso anterior, utilizando el elemento central de esta sublista. Este tipo de búsqueda se utiliza en vectores ordenados.

8 import java.util.*; public class BusquedaBinaria { public static void main() { // Llenar arreglo int [] edades = new int [4]; for (int i = 0; i < edades.length ; i++){ edades[i] = i*i ;} // Mostrar arreglo. for (int i = 0; i < edades.length ; i++){ System.out.println ( "edades["+i+"]: "+ edades[i]);} int resultado = BusquedaAlgoritmo.buscar(edades, 9); if (resultado != -1) { System.out.println ( "Encontrado en: "+ resultado); } else { System.out.println ( "El dato no se encuentra en el arreglo, o el arreglo no está ordenado." ); }

9 class BusquedaAlgoritmo { public static int buscar( int [] arreglo, int dato) { int inicio = 0; int fin = arreglo.length - 1; int pos; while (inicio <= fin) { pos = (inicio+fin) / 2; if ( arreglo[pos] == dato ) return pos; else if ( arreglo[pos] < dato ) { inicio = pos+1; } else { fin = pos-1; } return -1; }


Descargar ppt "BUSQUEDAS BINARIAS Y SECUENCIALES Hernández Salazar Alma Pérez González Luis Alberto Villa Méndez Edgar Adrián Villegas Titla Jorge Ramsés Ríos Álvarez."

Presentaciones similares


Anuncios Google