El algoritmo de búsqueda binaria es un excelente método para buscar datos dentro de una estructura(generalmente un arreglo unidimencional). Se le da el nombre de búsqueda binaria por que el algoritmo divide en dos el arregelo, aludiendo al concepto de bit, el cual puede tener dos estados.

La única condición para usar este algoritmo es que los datos dentro del arreglo estén ordenados de menor a mayor.

La solución mas fácil para realizar una busqueda es por fuerza bruta, pero este método puede resultar bastante ineficiente cuando se tiene una gran cantidad de datos, ya que habria que buscar posición por posición hasta encontrar el dato que queremos.El código por fuerza bruta es bastante sencillo:

dijo:

for(int i=0; i<Arreglo.length; i++)
if(Arreglo == elemento)
System.out.println("nElemento encontrado en la posicion: " + i);

Solo se recorre todo el arreglo y verificamos si la posición i es igual al dato que queremos buscar, el código anterior se puede mejorar simplemente agregandole una bandera, pero aun asi no es lo suficientemente bueno.

El algoritmo de busqueda binaria es el siguiente:

dijo:

1. Se declaran los índices superior e inferior. El inferior en 0 y el superior con el
tamaño del arreglo menos 1.

2. Se calcula el centro delarreglo con la siguiente formula:
centro = (superior + inferior) / 2

3. Verificamos si el arreglo en la posición centro es igual al dato que buscamos. Si es
igual significa que encontramos el dato y retornamos centro.

4. Si son diferentes verificamos si el arreglo en la posición centro es mayor al dato que
que queremos buscar. Si es mayor actualizamos superior: superior = centro - 1, si
no actualizamos inferior: inferior = centro + 1.

5. Volvemos al paso 2.

Si cuando ya no se cumpla la condicón del ciclo y no se encontro el dato retornamos -1 indicando que el dato no se encuentra en el arreglo. [continua]

Leer Ensayo Completo

Cite este ensayo

APA

(2011, 11). Búsqueda binaria en java. BuenasTareas.com. Recuperado 11, 2011, de http://www.buenastareas.com/ensayos/B%C3%BAsqueda-Binaria-En-Java/3207790.html

MLA

"Búsqueda binaria en java" BuenasTareas.com. 11 2011. 2011. 11 2011 <http://www.buenastareas.com/ensayos/B%C3%BAsqueda-Binaria-En-Java/3207790.html>.

MLA 7

"Búsqueda binaria en java." BuenasTareas.com. BuenasTareas.com, 11 2011. Web. 11 2011. <http://www.buenastareas.com/ensayos/B%C3%BAsqueda-Binaria-En-Java/3207790.html>.

CHICAGO

"Búsqueda binaria en java." BuenasTareas.com. 11, 2011. consultado el 11, 2011. http://www.buenastareas.com/ensayos/B%C3%BAsqueda-Binaria-En-Java/3207790.html.