8
BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

Embed Size (px)

Citation preview

Page 1: BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

BUSQUEDA BINARIAMETODOS DE BUSQUEDA EN C++Oscar Michel Ruiz León

Page 2: BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

La búsqueda binaria es un algoritmo muy eficiente para minimizar el tiempo de búsqueda ,la cual consiste en dividir el intervalo de búsqueda en dos partes comparando el elemento buscado con el elemento central, estos mismos pasos se repetirá hasta encontrar el elemento buscado.

Page 3: BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

EJEMPLO:

Page 4: BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

Nota: este algoritmos solo funciona para arreglos ordenados, por eso es que utilizamos el algoritmo de ordenación por selección.

Supongamos que tenemos el siguiente array.57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17Debemos ordenarlo3 8 17 17 21 22 26 31 36 37 44 47 53 57 89 97

Page 5: BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

¿Como funciona la búsqueda binaria? Necesitamos una seria de datos para realizar

la búsqueda: El elemento en la posición inicio, fin, medio. Y por supuesto el tamaño del vector y elemento que queremos buscar.

Page 6: BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

Preguntamos si el elemento buscado es igual al elemento que se encuentra en la posición medio del arreglo, si es afirmativo ya encontramos el elemento y no hay nada más que hacer.

Si no es así. Preguntamos si el elemento que se encuentra en la posición medio es mayor al elemento buscado, si es afirmativo y como el arreglo está ordenado, quiere decir que elemento buscado es menor al del medio. Entonces ahora solo buscaríamos en esa división del array, por lo tanto, el fin ahora sería el elemento anterior al medio.

Page 7: BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

De lo contrario quiere decir que elemento buscado es mayor al del medio, entonces debemos buscar en la otra división del arreglo, por lo tanto el inicio sería el elemento posterior al medio.

Con cualquiera de estas 2 operaciones descartamos la otra mitad del arreglo y por lo tanto reducimos notablemente el número de iteraciones.

Page 8: BUSQUEDA BINARIA METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León

Por lo tanto, en cada iteración, la búsqueda se reduce a la mitad del arrglo. Realizamos esto en un bucle mientras el inicio sea menor o igual al fin.