Preguntas etiquetadas con tail-recursion

La recursividad de cola es una estrategia recursiva en la que una función realiza una cierta cantidad de trabajo y luego se invoca a sí misma. La "cola" se refiere al hecho de que la recursividad está al final de la función. Muchos compiladores de lenguajes de programación, especialmente funcionales, pueden convertir este tipo de llamadas en iteraciones, lo que significa que la recursividad de cola en los lenguajes compatibles se puede utilizar sin temor a un desbordamiento de la pila, independientemente del número de llamadas.



19
¿Cómo salgo de un bucle en Scala?
¿Cómo rompo un bucle? var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here else if(product.toString.equals(product.toString.reverse)) largest=largest max product } } ¿Cómo convierto los bucles anidados en recursión de cola? De Scala Talk en …

20
Comprensión de la recursión [cerrada]
Tal como está actualmente, esta pregunta no es adecuada para nuestro formato de preguntas y respuestas. Esperamos que las respuestas sean respaldadas por hechos, referencias o experiencia, pero esta pregunta probablemente solicitará debate, argumentos, encuestas o discusión extendida. Si cree que esta pregunta puede mejorarse y posiblemente reabrirse, visite el …





5
¿La JVM evita las optimizaciones de llamadas de cola?
Vi esta cita sobre la pregunta: ¿Cuál es un buen lenguaje funcional sobre el que construir un servicio web? Scala, en particular, no admite la eliminación de llamadas finales, excepto en funciones auto-recursivas, lo que limita los tipos de composición que puede hacer (esta es una limitación fundamental de la …

5
¿Ruby realiza la optimización Tail Call?
Los lenguajes funcionales llevan al uso de la recursividad para resolver muchos problemas y, por lo tanto, muchos de ellos realizan Tail Call Optimization (TCO). El TCO hace que las llamadas a una función desde otra función (o ella misma, en cuyo caso esta característica también se conoce como Eliminación …




Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.