Búsqueda binaria paso a paso para entenderla sin errores

Texto explica la búsqueda binaria, un algoritmo que requiere datos ordenados. Muestra un array desordenado y su versión ordenada.

Escrito por

Juan Alicea

Publicado el

29 abr 2026

Índice

La búsqueda binaria es una de esas ideas que conviene entender bien porque ahorra tiempo en ejercicios, en programación y en cualquier situación donde los datos ya están ordenados. Yo la explico como un proceso de descarte: en cada paso comparas con el valor central, eliminas la mitad que ya no puede contener la respuesta y repites hasta encontrarla o vaciar el rango. En este artículo verás cómo funciona, por qué su coste crece tan poco, cuándo no sirve y qué errores hacen que falle en exámenes o en código.

Lo que conviene tener claro antes de aplicarla

  • Solo funciona de forma correcta sobre datos ordenados.
  • En cada comparación descarta aproximadamente la mitad del rango.
  • Su coste crece de forma logarítmica: con 1.000.000 de elementos bastan unas 20 comparaciones.
  • Es ideal en estructuras con acceso directo por índice, como arrays o vectores.
  • Con duplicados puede encontrar una coincidencia, pero no siempre la primera ni la última.
  • En listas pequeñas o muy cambiantes, a veces no compensa frente a una búsqueda simple.

Qué problema resuelve de verdad

La idea resuelve una situación muy concreta: encontrar un elemento sin revisar uno por uno todos los datos. Cuando el conjunto ya está ordenado, el valor central te da información suficiente para decidir si el objetivo está a la izquierda o a la derecha. Esa única comparación elimina una parte enorme del trabajo que haría una búsqueda secuencial.

Yo suelo resumirlo así: no busca “más rápido” por magia, sino porque pregunta mejor. En lugar de recorrer toda la lista, usa el orden para descartar bloques enteros. Por eso encaja tan bien en diccionarios, tablas ordenadas, listas de precios o cualquier catálogo donde el orden tenga sentido.

Tipo de búsqueda Búsqueda lineal Búsqueda binaria
Requisito No necesita orden Necesita datos ordenados
Coste habitual Puede revisar todos los elementos Reduce el problema a mitades
Cuándo la prefiero Listas pequeñas o desordenadas Listas grandes y estables

Con esta diferencia clara, el siguiente paso es ver el procedimiento exacto, porque ahí es donde suelen aparecer las dudas de examen y de implementación.

Ilustración de búsqueda binaria con números en bloques. Flechas circulares entre 80 y 17.

Cómo funciona paso a paso

La mecánica es simple, pero conviene describirla con orden para no perderse. Yo la enseño siempre con tres variables mentales: límite izquierdo, límite derecho y punto medio. Mientras el rango siga teniendo elementos, repites el mismo gesto.

  1. Empieza con todo el rango disponible.
  2. Calcula el punto medio con una fórmula de entero, por ejemplo m = (izquierda + derecha) // 2.
  3. Compara el valor del centro con el valor que buscas.
  4. Si el objetivo es mayor, descarta la mitad izquierda.
  5. Si el objetivo es menor, descarta la mitad derecha.
  6. Repite hasta encontrarlo o hasta que los límites se crucen.

Un ejemplo rápido ayuda mucho. Si busco 23 en [2, 4, 7, 11, 15, 19, 23, 27, 31], el centro es 15. Como 23 es mayor, me quedo con la mitad derecha. El nuevo centro es 23 y termino en dos comparaciones. Ese ejemplo muestra la idea de fondo: no avanzas elemento a elemento, recortas el problema.

Si el valor no aparece, la búsqueda se detiene cuando el intervalo queda vacío. Esa salida también es importante, porque muchos fallos vienen de no saber exactamente cuándo parar. Con eso en mente, merece la pena mirar la parte aritmética que explica por qué crece tan poco el número de pasos.

La aritmética detrás del coste

Yo suelo resumirlo con una regla muy práctica: cada comparación parte el problema por dos, así que el número de pasos crece según el logaritmo en base 2 del tamaño de la lista. Dicho de otro modo, si duplicas el número de elementos, normalmente solo sumas una comparación más. Esa es la razón por la que este algoritmo escala tan bien.

Si una lista tiene n = 2k elementos, en el peor caso necesitas aproximadamente k comparaciones. Por eso una lista de 8 elementos exige unas 3 decisiones, una de 1.024 necesita unas 10 y una de 1.000.000 ronda las 20. La diferencia es enorme y, sin embargo, la intuición es muy simple: partir a la mitad una y otra vez.

Tamaño de la lista Comparaciones aprox. Lectura práctica
8 elementos 3 Se resuelve muy rápido incluso a mano.
1.024 elementos 10 El crecimiento sigue siendo muy contenido.
1.000.000 elementos 20 La escala sigue siendo asumible.
1.000.000.000 elementos 30 Incluso aquí el número de pasos no se dispara.

Este comportamiento logarítmico es lo que hace que el método merezca la pena en contextos serios. Ahora bien, la rapidez no lo convierte en universal, porque depende mucho de la estructura de datos y de cómo cambian los valores con el tiempo.

Cuándo conviene y cuándo no

La decisión correcta no siempre es “usar este algoritmo porque es más rápido”. Yo prefiero pensar en el contexto real: tipo de estructura, frecuencia de cambios y coste de ordenar. Si esos tres factores no acompañan, la ventaja teórica se reduce bastante.

  • Conviene cuando trabajas con arrays, vectores o tablas ordenadas y vas a hacer muchas consultas.
  • Conviene cuando la lista cambia poco y puedes mantener el orden sin coste excesivo.
  • No conviene en listas enlazadas, porque llegar al centro ya cuesta demasiado.
  • No conviene si los datos están desordenados y solo vas a buscar una vez.
  • No conviene si insertas y borras constantemente, porque el orden puede volverse caro de mantener.
  • No conviene si el criterio de orden no es consistente, porque entonces el descarte deja de ser fiable.

En una lista enlazada, por ejemplo, encontrar el elemento central no es inmediato; antes hay que recorrer nodos. Ahí la ventaja desaparece y el coste total puede acercarse mucho al de una búsqueda normal. Por eso, más que el nombre del algoritmo, me interesa la estructura sobre la que se aplica.

Cuando el método sí encaja, el siguiente reto no es entenderlo, sino ejecutarlo sin fallos de límites. Y ahí es donde aparecen los errores más habituales.

Errores frecuentes y casos especiales

La mayoría de problemas no vienen de la idea en sí, sino de los detalles. Si yo reviso un ejercicio mal resuelto, casi siempre encuentro una de estas trampas.

  • No ordenar antes de buscar: si el rango no está ordenado, el descarte por mitades pierde sentido.
  • Confundir los límites: un error en izquierda o derecha puede saltarse elementos o provocar bucles infinitos.
  • Usar mal el punto medio: si no actualizas bien el rango, te quedas repitiendo la misma posición.
  • No definir el criterio de parada: hay que saber exactamente cuándo dejar de iterar.
  • Olvidar los duplicados: puede devolver una coincidencia cualquiera, no necesariamente la primera o la última.
  • Ignorar el caso vacío: una lista sin elementos debe resolverse desde el principio, no al final.

Con duplicados hay que ser especialmente claro. La versión básica localiza una coincidencia, pero si te piden la primera o la última aparición, necesitas una variante que siga buscando después de encontrar un valor válido. En examen, esa diferencia vale puntos porque cambia la interpretación del resultado.

Si quieres afinar de verdad, lo importante no es memorizar la definición, sino aprender a ejecutar el método con papel y lápiz sin perder el hilo. Eso me lleva al enfoque más útil para estudiar este tema.

Cómo estudiarla para resolver ejercicios rápido

Cuando preparo a alguien para un examen, no le pido que repita la definición de memoria; le pido que dibuje el proceso. La técnica se fija mucho mejor si trabajas con intervalos pequeños, porque la lógica se vuelve visible.

  1. Empieza con listas ordenadas de 7, 8 o 9 elementos.
  2. Marca siempre izquierda, centro y derecha en cada paso.
  3. Escribe qué mitad descartas y por qué.
  4. Comprueba si buscas una coincidencia exacta, la primera aparición o la última.
  5. Repite el ejercicio cambiando el valor objetivo para ver cómo cambia el recorrido.
Hay una regla mental muy útil: con 8 elementos el peor caso son 3 comparaciones, con 16 son 4 y con 32 son 5. Esa progresión ayuda mucho en preguntas de razonamiento, porque deja claro que el crecimiento es muy lento. En términos de estudio, eso significa que debes concentrarte en los límites, la comparación y la actualización del rango, no en decorar la teoría.

Si dominas ese patrón, la técnica deja de parecer un truco y se convierte en un procedimiento mecánico que puedes aplicar con seguridad. Y eso, en un examen de matemáticas o de programación, suele marcar la diferencia entre dudar y resolver con limpieza.

Lo que merece la pena recordar antes del examen

Si me quedo con una sola idea, es esta: la eficacia de este método nace de eliminar la mitad del problema en cada comparación. Esa es la parte aritmética que lo vuelve tan potente y también la razón por la que solo funciona bien cuando los datos están ordenados.

Mi recomendación práctica es sencilla: revisa siempre tres cosas antes de responder un ejercicio, el orden de la lista, la fórmula del punto medio y la condición de salida. Si además sabes qué hacer con duplicados, ya tienes la versión útil de verdad, no solo la definición de libro.

En problemas de examen, yo prefiero una explicación breve pero exacta a una respuesta larga con límites mal cerrados. Si puedes justificar por qué descartas cada mitad, ya estás demostrando que entiendes el algoritmo y no solo que lo has memorizado.

Preguntas frecuentes

Necesita datos ordenados y una estructura con acceso directo por índice, como un arreglo o un vector. Si la lista está desordenada, el descarte por mitades deja de ser fiable. En listas enlazadas tampoco compensa, porque llegar al centro cuesta demasiado.

Primero calcula el punto medio, compara el valor central con el objetivo y conserva solo la mitad donde aún puede estar la respuesta. Si el objetivo es mayor, descarta la izquierda; si es menor, descarta la derecha. Repite hasta encontrarlo o hasta que los límites se crucen.

Como cada paso divide el problema por dos, el coste crece de forma logarítmica. Una lista de 8 elementos suele requerir unas 3 comparaciones, una de 1.024 unas 10, una de 1.000.000 unas 20 y una de 1.000.000.000 unas 30.

No suele compensar en listas pequeñas, desordenadas o muy cambiantes, porque mantener el orden puede costar más que buscar una sola vez. También pierde sentido en listas enlazadas, donde localizar el centro no es inmediato.

Con duplicados, la versión básica puede devolver cualquier coincidencia, no necesariamente la primera ni la última. Los fallos más comunes son no ordenar antes, confundir los límites, calcular mal el punto medio o no definir bien cuándo parar.

Calificar artículo

Calificación: 0.00 Número de votos: 0

Etiquetas:

búsqueda binaria arreglos listas enlazadas logaritmos duplicados

Compartir artículo

Juan Alicea

Juan Alicea

Hola, me llamo Juan Alicea y tengo 11 años de experiencia en el ámbito de las matemáticas, especialmente en la preparación para exámenes. Desde muy joven, me fascinó cómo los números pueden explicar el mundo que nos rodea, y esa curiosidad me llevó a dedicarme a la enseñanza y la divulgación de este conocimiento. Me gusta ayudar a los estudiantes a desmitificar conceptos complejos y a encontrar la claridad en los problemas matemáticos. En mis escritos, me enfoco en temas que van desde fracciones hasta álgebra, siempre buscando simplificar la información y hacerla accesible. Me comprometo a ofrecer contenido útil, preciso y actualizado, verificando fuentes y comparando información para asegurar que mis lectores tengan las herramientas necesarias para triunfar en sus estudios. Mi objetivo es que cada persona que lea mis artículos se sienta más segura y preparada para enfrentar sus desafíos académicos.

Escribe un comentario