Вы находитесь на странице: 1из 3

Unidad Mtodos de bsqueda

1 Bsqueda secuencial
2 Bsqueda binaria
3 Bsqueda por funciones de HASH

Mtodos de bsqueda.

La bsqueda es la operacin ms importante en el procesamiento de informacin, ya que permite


recuperar datos previamente almacenados. El resultado de una bsqueda puede ser un xito, si se
encuentra la informacin o un fracaso, si no la encuentra.

La bsqueda se puede aplicar sobre elementos previamente ordenados o sobre elementos


desordenados, en el primer caso la bsqueda es ms fcil, en cambio en el segundo se dificulta un
poco ms el proceso, sobre todo cuando de se trata de encontrar una cantidad de elementos
similares.

Los mtodos de bsqueda se clasifican en:

- Bsqueda interna.

- Bsqueda externa.

Bsqueda interna.

La bsqueda interna es aquella en la que todos los elementos de la estructura esttica (arreglo) o
dinmica (lista ligada o rbol) se encuentran almacenados en la memoria principal de la
computadora.

Los mtodos de bsqueda interna ms importantes son:

- Secuencial o lineal.

- Binaria.

- Hash (transformacin de claves)

Secuencial.

El mtodo de bsqueda secuencial consiste en revisar la estructura de datos elemento por elemento
hasta encontrar el dato que estamos buscando, o hasta llegar al final de la estructura de datos.

Normalmente cuando una funcin de bsqueda concluye con xito, lo que interesa es conocer en
qu posicin fue encontrado el elemento buscado.

La bsqueda secuencial se puede aplicar a estructuras de datos ordenadas o desordenadas.

Si se aplica a una estructura desordenada y el elemento que se est buscando existe ms de una vez
en la estructura, el proceso de bsqueda debe continuar hasta que se llegue al fin de la estructura.
Ejemplo. Si tenemos una estructura con los elementos 5, 8, 3, 2, 9, 5, 7, 0, 5, 1 y estamos buscando el
nmero 5, el resultado de la bsqueda nos mostrara las posiciones 0, 5 y 8 y el proceso terminara al
llegar al numero 1 que es el ultimo de la lista de elementos.

Elementos 5 8 3 2 9 5 7 0 5 1

Posiciones 0 1 2 3 4 5 6 7 8 9

Posiciones donde

encontr el nmero 5

Ejercicio. Crear un programa que aplique una bsqueda secuencial de un dato dentro de un arreglo
de elementos desordenados y presenta la o las posiciones donde encontr el dato.

En cambio con una estructura ordenada al encontrar el elemento por primera vez podemos suponer
que una vez que el elemento ya no sea igual al que estamos buscando, ya no es necesario llegar
hasta el fin de la estructura.

Ejemplo. Si tenemos la estructura anterior pero ordenada 0, 1, 2, 3, 5, 5, 5, 7, 8, 9 y estamos


buscando el mismo nmero 5, el resultado de la bsqueda nos mostrara las posiciones 4, 5, y 6, y el
proceso terminara ya que el nmero 7 no es menor ni igual al que estamos buscando.

Elementos 0 1 2 3 5 5 5 7 8 9

Posiciones 0 1 2 3 4 5 6 7 8 9

Posiciones donde

encontr el nmero 5

Ejercicio. Crear un programa que aplique una bsqueda secuencial de un dato dentro de un arreglo
de elementos ordenados y presenta la o las posiciones donde encontr el dato.

Binaria.

El mtodo de bsqueda binaria divide el total de los elementos en dos, comparando el elemento
buscado con el central, en caso de no ser iguales, se determina si el elemento buscado es menor o
mayor al central, para determinar si la bsqueda continua del lado izquierdo (menor) o derecho
(mayor) del central, repitiendo el mismo proceso de divisin y comparacin, hasta encontrar el
elemento buscado o que la divisin ya no sea posible.

Debemos destacar que este mtodo de bsqueda solo funciona con estructuras de datos
previamente ordenadas, dividiendo cada vez a la mitad el proceso de bsqueda, lo que hace que el
mtodo sea ms eficiente.

Ejemplo. Si tenemos una estructura ordenada 0, 1, 2, 3, 5, 5, 5, 7, 8, 9 y estamos buscando el nmero


5, el resultado de la bsqueda nos mostrara la posicione 4 y el proceso terminara ya que el
elemento buscado no es diferente al que esta en la posicin central.
Elementos 0 1 2 3 5 5 5 7 8 9

Posiciones 0 1 2 3 4 5 6 7 8 9

Posiciones donde i F

encontr el nmero 5

Este proceso debe sumar la posicin inicial y la final, dividiendo el resultado de la suma entre dos
para obtener la posicin central generada por el cociente de la divisin, en este caso es (0+9)/2 = 4,
esta posicin se compara con el elemento que estamos buscando y como son iguales la bsqueda se
detiene mostrando la posicin donde lo encontr.

Ejercicio. Crear un programa que aplique una bsqueda binaria de un dato dentro de un arreglo de
elementos ordenados y presenta la posicin donde encontr el dato.

Binaria.

El mtodo de bsqueda binaria externa utiliza el mismo principio que la bsqueda binaria interna.
Divide el total de elementos del archivo en dos, comparando el elemento buscado con el central, en
caso de no ser iguales se determina si el elemento buscado es menor o mayor al central, para
determinar si la bsqueda continua del lado izquierdo (menor) o derecho (mayor) del central,
repitiendo el mismo proceso de divisin y comparacin, hasta encontrar el elemento buscado o que
la divisin ya no sea posible.

El archivo debe estar ordenado y se debe conocer el nmero de elementos del mismo para aplicar
este mtodo.

Ejercicios. Crear un programa que genera N nmeros aleatorios, los guarde en un archivo y
posteriormente aplique la bsqueda binaria.

Вам также может понравиться