Árbol binario en C: ejercicio resuelto
Si buscas árbol binario en C ejercicio resuelto, aquí tienes un BST básico con inserción y búsqueda.
Enunciado
Implementa un árbol binario de búsqueda con:
- inserción de valores,
- búsqueda de valor,
- salida indicando si existe o no.
Solución en C
#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;
}Salida esperada
Existe 10: 1
Existe 40: 0Errores frecuentes
- No tratar duplicados en inserción.
- Romper la propiedad BST al insertar.
- No liberar nodos al final.
Aplicación práctica
Los árboles siguen presentes en índices en memoria, jerarquías y buscadores internos.
Siguiente ejercicio recomendado
- Lista circular en C: ejercicio resuelto con inserción y recorrido
- Lista doblemente enlazada en C: ejercicio resuelto con inserción y recorrido
- fread y fwrite en C: ejercicio resuelto con archivo binario
- 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.