Recursividad en C: ejercicio resuelto para invertir una cadena
Recursividad en C: ejercicio resuelto
Si buscas recursividad en C ejercicio resuelto, este ejemplo te enseña una estructura clásica: caso base, llamada recursiva y trabajo al volver.
Enunciado
Implementa una función recursiva que imprima una cadena al revés sin usar arrays auxiliares.
Solución en C
Salida esperada
Caso borde recomendado
Prueba dos entradas mínimas:
Sirve para verificar que el caso base corta la recursión correctamente.
Cómo pensar la recursión aquí
- caso base: cadena vacía,
- avance:
s + 1, - fase de retorno: imprimir carácter actual.
Errores frecuentes
- Olvidar el caso base.
- Crear recursión infinita.
- Confundir el orden de impresión (antes o después de llamar).
- No avanzar el puntero (
s + 1) y quedarse en la misma dirección de memoria.
Complejidad temporal y espacial
- Tiempo: O(n), se visita cada carácter una vez.
- Espacio extra: O(n) por la pila de llamadas recursivas.
Aplicación práctica
La recursión sigue apareciendo en parseo de estructuras jerárquicas, navegación de árboles y análisis de datos anidados.
Siguiente ejercicio recomendado
- Búsqueda binaria en C: ejercicio resuelto en array ordenado
- Cola en C (queue): ejercicio resuelto con array circular
- Ficheros en C: ejercicio resuelto para contar lineas y caracteres
- Todos los ejercicios de C
Práctica guiada y siguiente paso
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿Cuándo usar recursión en C y cuándo no?
Úsala cuando el problema sea naturalmente recursivo. Para casos lineales simples, una versión iterativa suele ser más eficiente.
¿Dónde hay más ejercicios de recursión y C?
En Programación en C en 100 ejercicios resueltos y en la sección de 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.