La búsqueda binaria es una forma rápida de encontrar un valor objetivo en una lista ordenada. Revisas el elemento central, descartas la mitad de los valores restantes y repites. Si la lista no está ordenada, esa lógica deja de ser válida.
En una lista ascendente, la regla es simple: si el valor central es menor que el objetivo, buscas a la derecha; si es mayor, buscas a la izquierda. Como el rango se sigue reduciendo aproximadamente a la mitad, la búsqueda binaria se ejecuta en tiempo .
Cómo funciona la búsqueda binaria en una lista ordenada
Usa esta lista ordenada:
Supón que el objetivo es .
Empieza con el rango completo. El valor central es . Como , todo lo que está a la izquierda de puede descartarse, así que la búsqueda continúa en
Ahora el valor central es . Como , todo lo que está a la derecha de puede descartarse, así que el rango pasa a ser
Ahora el valor central es , así que la búsqueda se detiene. La idea útil no es solo que se encontró el objetivo. En dos comparaciones, el rango candidato pasó de valores a .
Por qué la búsqueda binaria es
Cada comparación elimina aproximadamente la mitad de los candidatos restantes. Después de un paso, quedan aproximadamente elementos. Después de dos pasos, quedan aproximadamente . Después de pasos, el tamaño restante es aproximadamente
La búsqueda termina cuando esa cantidad es aproximadamente , así que el número de pasos cumple
Tomando en ambos lados, obtenemos
Por eso la búsqueda binaria escala bien. Una búsqueda lineal puede necesitar hasta comprobaciones, pero la búsqueda binaria solo necesita suficientes comprobaciones para seguir dividiendo el rango a la mitad.
Ejemplo de código de búsqueda binaria
Aquí tienes una versión iterativa estándar en Python:
¿Necesitas ayuda con un problema?
Sube tu pregunta y obtén una solución verificada, paso a paso, en segundos.
Abrir GPAI Solver →