Busqueda Binaria

15
 UNIVERSIDAD CENTRAL DEL ECUADOR  materia: programación integr ntes  maría Yautibug Leandro Ramirez  Jefferson chipantiza oscar tipan

Transcript of Busqueda Binaria

UNIVERSIDAD CENTRAL DEL ECUADOR algoritmo de bsqueda materia: programacin integrantes: mara Yautibug Leandro Ramirez Jefferson chipantiza oscar tipan

UNIVERSIDAD CENTRAL DEL ECUADOR materia: programacin

integrantes:

mara Yautibug Leandro Ramirez Jefferson chipantiza oscar tipan

algoritmo de bsqueda INTRODUCCIN La recuperacin de informacin es una de las aplicaciones ms importantes de las computadoras. La bsqueda de informacin est relacionada con las tablas para consultas. Estas tablas contienen una cantidad de informacin que se almacenan en forma de listas de parejas de datos. Por ejemplo un catlogo con una lista de libros de matemticas, en donde es necesario buscar con frecuencia elementos en una lista. Existen diferentes tipos de bsqueda, pero en este informe describiremos slo la de tipo de bsqueda binaria.

OBJETIVOS 1. Definir que es un algoritmo de bsqueda.

2. Dar a conocer cmo funciona el algoritmo de bsqueda binaria.3. Describir el algoritmo en java.4. Mostrar un ejercicio para una mejor comprensin del mismo.5. Describir las ventajas y desventajas del algoritmo de bsqueda binaria. QU ES UN ALGORITMO DE BSQUEDA?

Es aquel que est diseado para localizar un elemento con ciertas propiedades dentro de una estructura de datos.

Ejemplo:Ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez.Se le asigna el nombre de bsqueda binaria por que el algoritmo divide en dos al arreglo.

EL ALGORITMO DE BSQUEDA BINARIA FUNCIONA DE LA SIGUIENTE MANERA:1. Se declaran los ndices superior e inferior. El inferior que inicia en cero y el superior con el tamao del arreglo menos 1.2. Se calcula el centro del arreglo con la siguiente frmula. Centro= (inferior + superior) / 23. Se verifica si el arreglo en la posicin centro es igual al dato o elemento que se desea encontrar. Si es igual significa que encontramos el elemento. y retornamos centro.

4. Debido a que el vector se encuentra ordenado si el dato que buscamos es mayor a la posicin central se descartan todos los datos que se encuentren en la parte inferior, ahora la variable inicio se ubica en la posicin centro + 1 de la misma manera si el dato que buscamos en menor que la posicin central definida se descarta la parte superior del vector, ahora la variable final se mover a la izquierda y se ubica en la posicin centro - 1.

5. Volvemos al paso 2, hasta encontrar el dato que buscamos.

ALGORITMO DE BSQUEDA Binaria EN public static void main(String[] args) { intarr[]={3,6,9,11,13,16,18,20,23,26,30,37,45,85,90,93,97, 101,128,356};int pos_ini=0;int pos_fin=arr.length-1;int pos_centro;int num = 85;while(pos_ini 10 si Esto quiere decir que el nmero que buscamos se encuentra al lado izquierdo del 21y se descartan todos los elementos ubicados al lado derecho por ser mayores que el nmero que buscamos. Ahora la variable pos_fin se ubica en la posicin anterior 21 que seria el 15, de esta manera se define un nuevo intervalo.

351015215010015641565100000Nuevamente se repite el procedimiento Centro = (0 + 3)/2 Centro = 1,5 Tomo la parte entera que seria 1

Ahora se realiza una comparacin del nmero 5 con el nmero buscado.5 < 10 si 5 >10 no Esto quiere decir que el nmero que buscamos se encuentra al lado derecho del 5y se descartan el nmero 3 por ser menor al nmero que buscamos.Ahora la variable pos_ini se ubica en la posicin siguiente del nmero 5 que seria el 10.Se define un nuevo intervalo. Nuevamente se repite el mismo proceso.Centro = (2 + 3)/2Centro = 2,5 entonces tomamos el 2 y comparamos 10