Conceptos

RECURSIVIDAD

La recursividad simplemente significa aplicar una función como parte de la definición de esa misma función.
====La clave de funcionamiento es que **obligatoriamente debe existir una condición terminal** con el objeto de que la función se bifurque hacia una resolución no recursiva en algún punto. De lo contrario, la función entra en un bucle infinito y nunca finaliza.====

.
====Note que la definicion de la funcion se realiza en base a si misma. Para que la ejecucion de este codigo sea posible, es necesario definir un caso base, en el caso del factorial seria: Factorial(0) = 1.====

TIPOS DE RECURSIVIDAD. ====Recursividad mutua la definicion de dos o mas funciones se hace reciprocamente en esas mismas funciones. Recursividad de cola: todo el trabajo se hace antes de cada llamada recursiva Puede considerarse un tipo de recursividad complementaria a otros tipos de recursividad .==== ====Aplicación : Al no existir cálculos intermedios con los valores devueltos por cada aplicación no se necesita el procedimiento de vuelta atrás visto en otros tipos de recursividad. La ultima aplicación devuelve el valor final resultante.====

====La recursividad puede ser de dos tipos: Recursividad directa (simple). Es cuando un subprograma A se llama a sí mismo una o más veces directamente. Recursividad indirecta (mutua). Es cuando un subprograma A, llama al subprograma B, y éste a su vez, llama al subprograma A====