La recursión es una técnica de programación donde una función se llama a sí misma para resolver instancias más pequeñas del mismo problema. Es uno de los conceptos más poderosos en las ciencias de la computación.
Toda función recursiva necesita dos partes:
1. Caso base — la condición que detiene la recursión
2. Caso recursivo — la función se llama con una entrada más pequeña
Cómo funciona la pila de llamadas:
- Cada llamada a función se apila en la pila de llamadas
- Cuando se alcanza un caso base, los resultados se propagan hacia arriba
- La pila se desenrolla a medida que cada llamada retorna su resultado
Patrones comunes:
- Factorial: n! = n × (n-1)!
- Fibonacci: F(n) = F(n-1) + F(n-2)
- Recorridos de árboles: procesar nodo, luego recurrir en hijos
- Divide y vencerás: dividir problema, resolver mitades, combinar
Errores comunes:
- Desbordamiento de pila: demasiadas llamadas recursivas agotan la memoria
- Cálculos redundantes: la recursión ingenua puede ser exponencial
- Solución: usar memoización o convertir a iteración
Algoritmos recursivos en este visualizador:
Quick Sort, Merge Sort, DFS, N-Queens, Sudoku Solver, Torre de Hanoi
Algoritmos relacionados
Preguntas frecuentes
- ¿Qué es Recursión?
- La recursión es una técnica de programación donde una función se llama a sí misma para resolver instancias más pequeñas del mismo problema. Es uno de los conceptos más poderosos en las ciencias de la computación.
- ¿Cuál es la complejidad de Recursión?
- Recursión se explica con visualización paso a paso, incluyendo su complejidad temporal y espacial cuando aplica.
- ¿Para quién es este visualizador de Recursión?
- La visualización de Recursión está pensada para nivel principiante, dentro de la categoría Conceptos. Ideal para estudiantes, entrevistas técnicas y repaso práctico.
- ¿Qué algoritmos relacionados hay con Recursión?
- En la misma categoría (Conceptos) puedes explorar: Big O Notation, Two Pointers, Sliding Window. Todos tienen visualización interactiva.