Qué es una búsqueda binaria o Binary Search
Binary Search o búsqueda binaria, es una búsqueda también llamada de intervalo medio o logarítmica (de acuerdo a su Big O Notation). Parte de una colección de datos ordenada y busca el punto medio, descartando la parte donde no está el elemento y partiendo de nuevo a la mitad el sub conjunto donde si está. Supongamos que tenemos el siguiente arreglo de 15 elementos: [1, 3, 4, 7, 9, 11, 13, 16, 19, 18, 20, 22, 24, 27, 30]- Primero tenemos que asegurarnos que los datos están ordenados, es un requisito. En este caso si lo están, de menor a mayor.
- Necesitamos saber la posición del número 24 dentro del arreglo.
El algoritmo sería el siguiente:
- Se inicializan 3 variables: indiceInferior con 0, indiceSuperior con el tamaño del arreglo y elementoMedio la mitad entre ambos índices.
- Si el elemento que está en medio es igual al que buscamos, terminamos el algorirmo.
- Si es mayor, actualizamos el indiceInferior que toma el valor del elementoMedio
- Si es menor, actualizamos el indiceSuperior que toma el valor del elementoMedio
- Volemos a comarar hasta que encontremos el valor deseado o la diferencia entre indiceSuperior-indiceInferior sea menor o igual a 1.
