El principio principal? Divide-n-Conquer. Sin embargo, esto solo es posible si hay alguna estructura en los datos que está buscando. En particular, la búsqueda binaria solo funciona en datos ordenados en orden. Si los datos están en orden aleatorio, la búsqueda binaria simplemente no funcionará.
La idea es que mire primero el elemento central. Pruébelo contra el valor necesario. Si es más grande que la que está buscando, entonces sabe que no puede estar en la mitad superior, por lo tanto, reduzca el número de lugares a través de la mitad inferior. Enjuague y repita para esa sección de los datos hasta que lo haya encontrado o no quede nada para buscar.
Cada paso en la búsqueda binaria reduce el número de elementos a la mitad. Por lo tanto, mirar a través de 20 elementos va en pasos: 20, 10, 5, 2, 1. Es decir, en lugar de mirar los 20 elementos, solo necesita mirar 5 de ellos. Tener más elementos, se pone aún mejor, 100 → 50 → 25 → 12 → 6 → 3 → 1, por lo que en lugar de 100 controles, solo hay 7.
- Cómo escribir un algoritmo que diseña guiones
- Cómo encontrar la ruta más corta en un gráfico no ponderado en lenguaje C
- Cómo determinar la complejidad de esta recurrencia T (n) = 16 * T (n / 4) + n! usando el teorema maestro
- ¿Existe un algoritmo para encontrar el día de cualquier fecha de cualquier año?
- ¿Utiliza el cerebro el algoritmo de propagación hacia atrás dado cómo se conectan las sinapsis secuencialmente?
Matemáticamente esto se conoce como O (log N). Es decir, a medida que aumenta el número de elementos, el número de controles aumenta a una escala logarítmica. Con una búsqueda binaria simple es un logaritmo de base 2 (de la idea de reducir a la mitad).