
Binary Search Algorithm en JavaScript: Explicación con Ejemplos 2025

Juan Correa
Desarrollador de Software Senior
Binary Search (búsqueda binaria) es un algoritmo para encontrar un elemento dentro de una lista ordenada. Funciona dividiendo el array por la mitad y descartando la mitad que no contiene el elemento buscado hasta que se encuentra el elemento o se determina que no está presente.
Gracias a esta estrategia, la búsqueda binaria es mucho más rápida que una búsqueda lineal tradicional.
Se usa comúnmente en entrevistas técnicas porque evalúa tu habilidad para pensar en términos de eficiencia y dividir y conquistar.
Table of Contents
- ¿Cuándo usar Binary Search?
- Requisitos para usar búsqueda binaria
- Binary Search Explicado Con Ejemplo
- Ejemplo Binary Search con Iteración
- Ejemplo Binary Search con Recursión
- Errores comunes que debes evitar
- Aprende Más Sobre DSA
- Más Recursos Para Pasar Entrevistas Técnicas y Aprender
- Conclusión
- Sobre el autor
¿Cuándo usar Binary Search?
- Cuando tienes un array ordenado de números, strings o cualquier dato comparable.
- Cuando necesitas buscar un valor rápido en un array grande.
Requisitos para usar búsqueda binaria
- El array debe estar ordenado.
- Debes poder acceder a los elementos por índice (como en un array).
Binary Search Explicado Con Ejemplo
Para entenderlo bien, piensa así:
- Elige el índice medio
- Si el valor coincide → lo encontraste ✅
- Si el valor es menor → repite la búsqueda en la mitad izquierda y repite el paso 2
- Si el valor es mayor → repite en la mitad derecha y repite el paso 2
- Si no hay más elementos para buscar → no encontrado ❌
Aquí tienes una visualización de cómo funciona:
- El objetivo es encontrar el número 60 en el array
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]. - En la primera iteración, el índice medio es 5 (40). Como 60 es mayor, buscamos en la mitad derecha.
- En la segunda iteración, el nuevo índice medio es 8 (70). Como 60 es menor, buscamos en la mitad izquierda.
- En la tercera iteración, el nuevo índice medio es 7 (60). ¡Lo encontramos!

Ejemplo Binary Search con Iteración
Una implementación clásica usando un bucle while.
function binarySearchIterative(array, target) {
let left = 0
let right = array.length - 1
while (left <= right) {
const mid = Math.floor((left + right) / 2)
if (array[mid] === target) {
return mid
} else if (array[mid] < target) {
left = mid + 1
} else {
right = mid - 1
}
}
return -1 // no encontrado
}
// Ejemplo:
const numbers = [1, 3, 5, 7, 9, 11]
console.log(binarySearchIterative(numbers, 7)) // ➞ 3
✅ Recomendación:
Utiliza Math.floor para calcular el índice medio. Esto es importante para evitar errores de redondeo.
Análisis Big O
- Tiempo (peor caso):
O(log n)→ porque divides el array a la mitad en cada iteración. - Espacio:
O(1)→ usa un número constante de variables.
Ejemplo Binary Search con Recursión
La misma idea, pero usando llamadas recursivas.
function binarySearchRecursive(array, target, left = 0, right = array.length - 1) {
if (left > right) return -1
const mid = Math.floor((left + right) / 2)
if (array[mid] === target) {
return mid
} else if (array[mid] < target) {
return binarySearchRecursive(array, target, mid + 1, right)
} else {
return binarySearchRecursive(array, target, left, mid - 1)
}
}
// Ejemplo:
const numbers = [1, 3, 5, 7, 9, 11]
console.log(binarySearchRecursive(numbers, 5)) // ➞ 2
Análisis Big O
- Tiempo:
O(log n)→ misma lógica que la iterativa. - Espacio:
O(log n)→ por el uso de la pila de llamadas en la recursión.
✅ Recomendación:
Utiliza la versión iterativa en entrevistas técnicas porque es más fácil de entender y no consume espacio adicional en la pila de llamadas.
Errores comunes que debes evitar
Aunque la búsqueda binaria es útil, es fácil cometer errores si no prestas atención a ciertos detalles. Estos son los errores más comunes:
- ❌ Usar binary search en arrays no ordenados
- ❌ No cubrir bien los índices en left, right, mid
- ❌ Generar un bucle infinito (no actualizar left o right correctamente)
- ❌ Calcular mid con (left + right) / 2 en lenguajes donde puede causar overflow (en JavaScript no hay riesgo, pero en C++ sí)
Aprende Más Sobre DSA
Este post es parte de una serie de artículos sobre algoritmos y estructuras de datos. Aquí tienes algunos temas relacionados que podrían interesarte:
- Aprende DSA en días, no meses
- Aprende a aplicar Sliding Window en arrays fácil
- Aprende a usar HashMap en minutos
Más Recursos Para Pasar Entrevistas Técnicas y Aprender
Recursos de Developero:
- Si no estás recibiendo llamadas de entrevistas, revisa el artículo Cómo hacer un curriculum de programador para que te CONTRATEN
- Si no estás pasando entrevistas técnicas, revisa el artículo Code Interview Preparation: Cómo Responder una Entrevista Técnica Exitosamente
- Si te cuesta trabajo entender Big O notation, revisa el artículo Ejemplos de notación Big O en JavaScript
- Ahora si también quieres prepararte para entrevistas de diseño de sistemas, entonces revisa el artículo Mega guía completa de aprendizaje y preparación para entrevistas de diseño de sistemas
Con estos contenidos, estás más cerca de convertirte en ese perfil técnico que todas las empresas quieren.
Otros recursos:
- Repositorio de Github Data Structures and Algorithms
- Repositorio de Github Coding Interview University
Conclusión
La búsqueda binaria es uno de los algoritmos más importantes que debes dominar, no solo por su eficiencia sino porque:
- Es el primer ejemplo claro de divide y vencerás.
- Es la base para problemas más complejos como búsquedas en matrices, árboles, o incluso problemas de decisión con búsqueda binaria sobre la respuesta.
¿Quieres más ejemplos prácticos como este?
Puedes ver todos los retos y estructuras de datos en mi repositorio 👉 dsa-javascript
Sobre el autor
Soy Juan Correa, un desarrollador con experiencia construyendo productos reales y enseñando a otros profesionales.
Escribo contenido práctico para ayudarte a pasar entrevistas técnicas, mejorar como dev y tomar mejores decisiones en tu código.
Conecta conmigo en LinkedIn o YouTube si buscas un consejo, quieres seguir aprendiendo sobre desarrollo web, entrevistas técnicas y más.