Francisco Aldana Hernández

Francisco Aldana Hernández
Sistemas Computacionales

martes, 21 de septiembre de 2010

Recursividad

Se utiliza para realizar una llamada a una función desde la misma función. Como ejemplo útil se puede presentar el cálculo de números factoriales. La recursividad y la iteración (ejecución en bucle) están muy relacionadas, cualquier acción que pueda realizarse con la recursividad puede realizarse con iteración y viceversa. Normalmente, un cálculo determinado se prestará a una técnica u otra, sólo necesita elegir el enfoque más natural o con el que se sienta más cómodo. Claramente, esta técnica puede constituir un modo de meterse en problemas. Es fácil crear una función recursiva que no llegue a devolver nunca un resultado definitivo y no pueda llegar a un punto de finalización. Este tipo de recursividad hace que el sistema ejecute lo que se conoce como bucle "infinito".
Para entender mejor lo que en realidad es el concepto de recursión veamos un poco lo referente a la secuencia de Fibonacci.

Ventajas:
1.- Proporciona simplicidad en la comprencion de los problemas.
2.- Es un metodo natural de resolver problemas.
3.- Permite un gran potencial de cálculo.
4.- La corrección de los algoritmos se comprueba facilmente.

Desventajas:
1.- Aumenta el consumo de recursos de la máquina (sobre todo de la pila) .
2.- Es más lenta que las interativas equivalentes (siempre que exista la solución iterativa equivalente).

No hay comentarios:

Publicar un comentario