Árbol binario en C: ejercicio resuelto de inserción y búsqueda

  2 minutos

Si buscas árbol binario en C ejercicio resuelto, aquí tienes un BST básico con inserción y búsqueda.

Implementa un árbol binario de búsqueda con:

  • inserción de valores,
  • búsqueda de valor,
  • salida indicando si existe o no.
#include <stdio.h>
#include <stdlib.h>

typedef struct Nodo {
    int v;
    struct Nodo *izq, *der;
} Nodo;

Nodo *insertar(Nodo *r, int v) {
    if (!r) {
        Nodo *n = malloc(sizeof(Nodo));
        if (!n) return NULL;
        n->v = v; n->izq = n->der = NULL;
        return n;
    }

    if (v < r->v) r->izq = insertar(r->izq, v);
    else if (v > r->v) r->der = insertar(r->der, v);

    return r;
}

int buscar(Nodo *r, int v) {
    if (!r) return 0;
    if (r->v == v) return 1;
    if (v < r->v) return buscar(r->izq, v);
    return buscar(r->der, v);
}

void liberar(Nodo *r) {
    if (!r) return;
    liberar(r->izq);
    liberar(r->der);
    free(r);
}

int main(void) {
    Nodo *r = NULL;
    r = insertar(r, 20);
    r = insertar(r, 10);
    r = insertar(r, 30);

    printf("Existe 10: %d\n", buscar(r, 10));
    printf("Existe 40: %d\n", buscar(r, 40));

    liberar(r);
    return 0;
}
Existe 10: 1
Existe 40: 0
  • No tratar duplicados en inserción.
  • Romper la propiedad BST al insertar.
  • No liberar nodos al final.

Los árboles siguen presentes en índices en memoria, jerarquías y buscadores internos.

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.