Está en la página 1de 19

posicin de un tem dado de entre un conjunto de tems

Se trata de hallar un elemento de dato a travs de una valor llave. Existen dos grupos de mtodos de bsqueda:

Mtodos simples:
Bsqueda lineal sobre un array Bsqueda lineal sobre una lista enlazada Bsqueda lineal sobre un array ordenado Bsqueda lineal sobre una lista enlazada

Mtodos avanzados:
Bsqueda binaria sobre un array ordenado Bsqueda por interpolacin sobre un array ordenado Bsqueda binaria sobre un rbol binario de bsqueda Bsqueda usando estrategia hash

Ventajas de la tcnica. La bsqueda binaria es un mtodo eficiente siempre que el vector est ordenado. En la prctica, esto suele suceder, pero no siempre. Por esta razn la bsqueda binaria exige una ordenacin previa del archivo. La bsqueda binaria proporciona un medio para reducir el tiempo requerido para buscar en una lista. Este mtodo, sin embargo, exige que los datos estn ordenados. Es mas rapido por su recursividad, su mayor ventaja es con los archivos extensos. El codigo del procedimiento de esta busqueda es corto en comparacion con las demas tecnicas de busqueda. En esencia, con una sola comparacion eliminamos la mitad de la tabla; este es el metodo mas eficiente de buscar en una lista ordenada sin emplear tablas o indices adicionales.

Desventajas de la tcnica. La bsqueda binaria tiene, sin embargo, inconvenientes a resaltar: El archivo debe estar ordenado y el almacenamietno de un archivo ordenado suele plantear problemas en las inserciones y eliminaciones de elementos. No revisa todos los elementos del archivo, requiere que todos los elementos esten ordenados Esta busqueda mas de uno o dos accesos si el archivo es enorme y mantener ese archivo ordenado es muy costoso.

Hallar elemento 22

El algoritmo de busqueda binaria es el siguiente:

1. Se declaran los ndices superior e inferior. El inferior en 0 y el superior con el tamao del arreglo menos 1.
2. Se calcula el centro del arreglo con la siguiente formula: centro = (superior + inferior) / 2

3. Verificamos si el arreglo en la posicin 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 posicin 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 condicn del ciclo y no se encontro el dato retornamos -1 indicando que el dato no se encuentra en el arreglo.

El algoritmo de bsqueda binaria es un excelente mtodo para buscar datos dentro de una estructura (generalmente un arreglo unidimencional). Se le da el nombre de bsqueda binaria por que el algoritmo divide en dos el arregelo, aludiendo al concepto de bit, el cual puede tener dos estados. La nica condicin para usar este algoritmo es que los datos dentro del arreglo estn ordenados de menor a mayor.

También podría gustarte