AD

¿Ya dominas lo básico? Un curso estructurado de C es la vía rápida para dar el salto.

Ver cursos de C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🔧Lecciones de C
Lección 33 / 68

El algoritmo de búsqueda binaria

En esta lección buscarás un valor en una lista ordenada descartando la mitad en cada paso.

Se mantienen dos límites, izquierda y derecha, se mira el elemento central y se descarta la mitad donde el valor no puede estar. Requiere que los datos estén ordenados.

El código de ejemplo busca un número y devuelve su posición.

La diferencia de velocidad es enorme: en un millón de elementos, la búsqueda lineal hace hasta un millón de comparaciones y la binaria unas veinte. Pero si los datos no están ordenados, el resultado es sencillamente incorrecto, sin ningún aviso.

Un detalle famoso: calcular el centro como (izq + der) / 2 puede desbordar el int con arrays enormes. La forma segura es izq + (der - izq) / 2. Este fallo estuvo presente durante años en bibliotecas muy usadas, así que no es una sutileza teórica.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)