¿Por qué?
Cualquier libro de LISP puede ser? No soy un programador funcional, pero recuerdo que en el clásico lisp siempre usamos construcciones recursivas para operar en listas, es simplemente la forma natural de LISP.
También hay tareas que son naturalmente solucionables con recursión. Como la Torre de Hanoi, la generación de todas las permutaciones (o muchas otras tareas combinatorias constructivas u otras tareas de búsqueda de fuerza bruta), elevar un número a un poder entero, el divisor común más grande, recorridos de árboles, búsqueda en profundidad y tareas relacionadas en gráficos generales … Si quieres aprender mejor la recursión, intenta resolverlos. Incluso puede hacerlo al estilo ACM, encontrar problemas apropiados y enviar soluciones en su lenguaje de programación favorito a uno de los sistemas de jueces en línea (UVa, Timus, etc.).
Y como observación, quiero mencionar que la recursión podría no ser la mejor manera de codificar algo en las aplicaciones de producción, porque no tiene control manual de la pila que podría desbordarse … Cualquier programa recursivo podría reescribirse sin el uso de la recursión.
- Quiero aprender más sobre Quill (Quintiq Logic Language). Donde lo hago ¿Hay recursos?
- ¿Cuáles son los mejores recursos gratuitos disponibles en línea para prepararse para entrevistas técnicas?
- ¿Cuáles son los mejores sitios web / materiales para aprender Pruebas de penetración?
- ¿Qué recursos / medios de instrucción para el autoaprendizaje de la teoría, las matemáticas, la física y la programación detrás de los gráficos de computadora funcionaron mejor para usted?
- ¿Dónde puedo aprender sobre modelado probabilístico?
No obstante, encuentro el concepto de recursión muy útil por las siguientes razones. 1. Ayuda a entender cómo se ejecutan los programas (pila, paso de parámetros). 2. El concepto de reducción de una tarea a subtareas es un concepto clave en la programación dinámica. 3. Los programas recursivos suelen ser fáciles de escribir.