Búsqueda binaria en C: ejercicio resuelto en array ordenado

  2 minutos

Si buscas búsqueda binaria en C ejercicio resuelto, este ejemplo incluye implementación iterativa y claves de complejidad.

Dado un array ordenado, devuelve el índice del valor objetivo o -1 si no existe.

#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;
}
Indice: 3
  • Tiempo: O(log n)
  • Espacio: O(1)
  • Ejecutarla sobre arrays no ordenados.
  • Calcular mal el punto medio.
  • Cortar mal el rango (l y r).

La búsqueda binaria se usa en catálogos ordenados, índices y consultas de alto rendimiento.

Si quieres una ruta completa con progresión real de dificultad:

Sí. Trabaja patrones que aparecen mucho en prácticas, entrevistas técnicas y evaluaciones de programación en C.

En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.

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.