CodeIA Logo
Inicio
¿Qué es la Ingeniería de Contexto?ExperienciaProyectos realizados
Comunidad
FeedMiembrosCuadro de HonorCalendarioBolsa de trabajoEncuestasProyectos de la Comunidad
NoticiasPrecios
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.

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