Búsqueda binaria en C: ejercicio resuelto
Si buscas búsqueda binaria en C ejercicio resuelto, este ejemplo incluye implementación iterativa y claves de complejidad.
Enunciado
Dado un array ordenado, devuelve el índice del valor objetivo o -1 si no existe.
Solución en C
#include <stdio.h>
int busqueda_binaria(int a[], int n, int objetivo) {
int l = 0, r = n - 1;
while (l <= r) {
int m = l + (r - l) / 2;
if (a[m] == objetivo) return m;
if (a[m] < objetivo) l = m + 1;
else r = m - 1;
}
return -1;
}
int main(void) {
int a[] = {2, 5, 9, 12, 18, 25};
int idx = busqueda_binaria(a, 6, 12);
printf("Indice: %d\n", idx);
return 0;
}Salida esperada
Indice: 3Complejidad
- Tiempo: O(log n)
- Espacio: O(1)
Errores frecuentes
- Ejecutarla sobre arrays no ordenados.
- Calcular mal el punto medio.
- Cortar mal el rango (
lyr).
Aplicación práctica
La búsqueda binaria se usa en catálogos ordenados, índices y consultas de alto rendimiento.
Siguiente ejercicio recomendado
- Merge sort en C: ejercicio resuelto con divide y vencerás
- Ordenacion burbuja en C: ejercicio resuelto paso a paso
- Cola en C (queue): ejercicio resuelto con array circular
- Todos los ejercicios de C
Práctica guiada y libro completo
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿Este ejercicio sirve para entrevistas y exámenes de C?
Sí. Trabaja patrones que aparecen mucho en prácticas, entrevistas técnicas y evaluaciones de programación en C.
¿Dónde seguir con más ejercicios resueltos de C?
En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.
¿Cómo practicar este tipo de ejercicio para mejorar más rápido?
Empieza con entradas pequeñas, prueba casos límite (vacío, un elemento y capacidad máxima) y luego reescribe la solución sin copiarla.