CodeIA Logo
Inicio
¿Qué es la Ingeniería de Contexto?ExperienciaProyectos realizados
Comunidad
FeedMiembrosCuadro de HonorCalendarioBolsa de trabajoEncuestasProyectos de la Comunidad
NoticiasPlanes
Formación
CursosLecciones
Co-Projects
Propuestas de proyectosEnviar propuesta de proyecto
RoadmapGlosarioContacto
Iniciar Sesión
CodeIA Logo

Transformando ideas en software profesional con IA. La nueva era del desarrollo ágil.

Reseñas y testimonios

Legal

Política de PrivacidadTérminos de ServicioTérminos de SuscripciónAviso LegalCookies

Sígueme

Contactar

© 2026 CodeIA. Todos los derechos reservados.

Hecho con♥por sn4p.dev

Glosario/Recursión

Recursión

Paulo7 de enero de 2026

Definición

Técnica donde una función se llama a sí misma para resolver problemas descomponiéndolos en subproblemas.

Descripción

Requiere un caso base para evitar recursión infinita. Útil para árboles, grafos y algoritmos divide y vencerás.

Ejemplo

// Recursión básica - Factorial function factorial(n: number): number { // Caso base if (n <= 1) return 1; // Caso recursivo return n * factorial(n - 1); } factorial(5); // 5 * 4 * 3 * 2 * 1 = 120 // Fibonacci recursivo function fibonacci(n: number): number { if (n <= 1) return n; return fibonacci(n - 1) + fibonacci(n - 2); } // Fibonacci optimizado con memoización function fibonacciMemo(n: number, memo: Record<number, number> = {}): number { if (n in memo) return memo[n]; if (n <= 1) return n; memo[n] = fibonacciMemo(n - 1, memo) + fibonacciMemo(n - 2, memo); return memo[n]; } // Recorrer árbol recursivamente function recorrerArbol(nodo: TreeNode | null): void { if (!nodo) return; // Caso base console.log(nodo.valor); recorrerArbol(nodo.izquierda); recorrerArbol(nodo.derecha); } // Aplanar array anidado function aplanar(arr: any[]): any[] { return arr.reduce((flat, item) => flat.concat(Array.isArray(item) ? aplanar(item) : item), []); }

← Volver al glosario