Vous êtes sur la page 1sur 4

Instituto Tecnolgico de Quertaro Estructura de Datos Investigacin documental

Efrn Martnez Garay 10141187 30/03/2012

ndice
Introduccin Desarrollo Ejemplos Conclusin Fuentes consultadas (APA) 1 1 3 3 4

Recursividad.
Un procedimiento o funcin se dice recursivo si durante su ejecucin se invoca directa o indirectamente asimismo. Esta invocacin depende al menos de una condicin que acta como condicin de corte que provoca la finalizacin de la recursin

La recursividad surge de lo que se conoce como sinergia que es cuando en los objetos, las sumas de sus partes es menor o diferente del todo, o bien cuando el examen de algunas de ellas (incluso a cada una de ellas) no explica la conducta del todo. Es de aqu que surge la recursividad que representa la jerarquizacin de todos los sistemas existentes es el concepto unificador de la realidad y de los objetos. El concepto de recursividad se aplica a sistemas dentro de sistemas mayores.

La recursividad en trminos generales podra decirse que es una tcnica de programacin de gran importancia ya que reemplaza las tcnicas de iteracin y en su lugar deja un algoritmo que se distingue por ser ms abstracto en lo que a diseo se refiere e incluso la recursividad dio la posibilidad de crear un paradigma completamente nuevo que se conoce como la programacin funcional, que es utilizado para conseguir lenguajes expresivos y matemticamente elegantes, en

Instituto Tecnolgico de Quertaro Estructura de Datos Investigacin documental

Efrn Martnez Garay 10141187 30/03/2012

los que no sea necesario bajar al nivel de la mquina para describir el proceso llevado a cabo por el programa, y evitar el concepto de estado del cmputo.

Las definiciones recursivas son muy comunes en computacin y en matemticas, por lo que sta es una contribucin muy importante del lenguaje.

La recursividad puede ser aplicada en mbitos generales y en problemas cuya solucin se puede hallar solucionando el mismo problema pero con un caso de menor tamao. Esta tcnica presenta algunas ventajas que podran ser la resolucin de problemas casi irresolubles con las estructuras iterativas, as como su mejor presentacin, ya que ofrecen soluciones ms simples. La nica condicin necesaria para poder implementar esta tcnica es que se tiene que hacer una asignacin dinmica de memoria.

La recursin permite definir un objeto (problemas, estructuras de datos) en trminos de s mismo. Casos tpicos de estructuras de datos definidas de manera recursiva son los rboles y las listas ligadas. Algunos ejemplos de problemas que se definen recursivamente son: convertir un numero decimal a binario, la serie de Fibonacci, etc.

Bsicamente la recursividad consiste en que en el cuerpo de sentencias del sub-algoritmo se invoca al propio sub-algoritmo para resolver el mismo problema pero presentado en una versin ms sencilla o ms pequea que el problema original, cabe resaltar que existirn varios casos en los que el problema tenga una solucin bastante simple que pueda ser resuelto directamente, sin necesidad de hacer alguna otra llamada recursiva.

Los algoritmos a los ejemplos antes mencionados (conversin de decimal a binario y la seria de Fibonacci) seria de la siguiente manera:

Instituto Tecnolgico de Quertaro Estructura de Datos Investigacin documental

Efrn Martnez Garay 10141187 30/03/2012

Aqu

vemos que se manda llamar el Fib para calcular los

mismo mtodo

nmeros anteriores de la serie, es decir, primero resolver los casos ms

pequeos para al final dar solucin al problema original que es mayor.

En este ejemplo, al igual que en el anterior el sub-algoritmo se llama a s mismo, en este caso al ser cierta la condicin num>=2 vuelve a llamar a DecimalBinario.

Contrastando la iteracin y la recursividad, nos damos cuenta de que la recursin ofrece unas soluciones ms simples y sobre todo ms claras que la iteracin y por lo tanto ofrece soluciones ms elegantes, ofreciendo soluciones a problemas ms complejos, la principal desventaja que presenta es que en ciertos casos puede ser muy ineficiente ya que una simple llamada puede generar un gran nmero de llamadas recursivas, por ejemplo el calcular el factorial de un numero n puede generar un numero n de llamadas recursivas, estos puntos nos lleva a limitar esta herramienta a solo implementarla en caso de que sea

realmente necesaria, es decir, en caso de que sea bastantemente complejo buscar la solucin por medio de iteraciones, ya que de lo contrario, una solucin iterativa podra hacer que el algoritmo sea ms eficiente que si empleamos la recursividad.

Instituto Tecnolgico de Quertaro Estructura de Datos Investigacin documental

Efrn Martnez Garay 10141187 30/03/2012

Trabajos citados
Instituto Tecnolgico de Monterrey. (2004). Departamento de Computacin del Centro de Investigacin y de Estudios Avanzados del Instituto Politcnico Nacional. Recuperado el 28 de 03 de 2012, de http://computacion.cs.cinvestav.mx/~acaceres/courses/itesm/lp/clases/lp07.pdf Lpez, P. (2011). DEPARTAMENTO LENGUAJES Y CIENCIAS DE LA COMPUTACIN. Recuperado el 29 de 03 de 2012, de http://www.lcc.uma.es/~lopez/modular/recursion/transp_recursion.pdf Programacion Facil. (s.f.). Recuperado el 29 de 03 de 2012, de http://www.programacionfacil.com/estructura_de_datos:recursividad Wikipedia. (s.f.). Wikipedia. Recuperado el 29 de 03 de 2012, de http://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada

Vous aimerez peut-être aussi