Programacion

Páginas: 3 (732 palabras) Publicado: 1 de agosto de 2012
Recursividad terminal

¿Que es la recursividad?
La recursividad es una técnica de programación, que consiste en que una serie de instrucciones se repiten como una subtarea de la tarea principal,es decir, las funciones, procesos o rutinas se llaman a sí mismos cada vez que lo requieran y se ejecutan repetidas veces hasta que se satisface una condición específica.

Recursividad
Larecursividad es un proceso muy útil a la hora de programar, pero en ocasiones, el uso de este tiene un costo computacional alto, debido a las constantes llamadas a la misma función o rutina y muchas vecesestas llamadas consumen demasiada memoria.

La Recursividad termina en algunos algoritmos recursivos, se puede implementar un caso de recursividad especial llamado recursividad terminal, (tambiénconocido como recursividad por cola), la cual es una técnica para optimizar la recursividad eliminando las constantes llamadas recursivas.

-------------------------------------------------
“Larecursividad terminal o por cola es cuando la llamada recursiva es la última instrucción de la función.”

Características de la recursividad terminal.

*las funciones deben cumplir la condición que en laparte que realiza la llamada a la función, no debe existir ninguna otra sentencia.

*el compilador o interprete, tratan a la función recursiva como una función iterativa.

Ventaja recursividadterminal.
Una ventaja de la recursividad por cola es que podemos evitar la sobrecarga de cada llamada a la función y nos evitamos el gasto de memoria de pila.
*Pila de llamadas es donde se almacena losvalores de las variables de las subrutinas, y el stackoverflow (desbordamiento de pila) es cuando la memoria ya no es suficiente para almacenar todos los datos.

Con una función de recursividadterminal se puede evitar lo que se conoce como stackoverflow, que ocurre cuando la pila de llamadas (en ingles callstack) consume mucha memoria

* EJEMPLO
A continuación se muestra un programa...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS