Recursividad Y Arreglos
Enviado por mheredia_1981 • 13 de Enero de 2015 • 631 Palabras (3 Páginas) • 182 Visitas
Recursividad y arreglos
Estructura de datos
Instituto IACC
22 de diciembre de 2014
Desarrollo
La recursividad es una técnica de programación importante. Se utiliza para realizar una llamada a una función desde la misma función. Se puede decir que la recursividad es la forma en la cual se especifica un proceso basado en su propia definición. Siendo un poco más precisos, y para evitar el aparente círculo sin fin en esta definición:
Un problema que pueda ser definido en función de su tamaño, sea este N, pueda ser dividido en instancias más pequeñas (menores que N) del mismo problema y se conozca la solución explícita a las instancias más simples, lo que se conoce como casos base (o lo que llamo criterio de parada), se puede aplicar inducción sobre las llamadas más pequeñas y suponer que estas quedan resueltas. La recursividad es un concepto importante en informática. Muchos algoritmos se pueden describir mejor en términos de recursividad.
Supongamos que P es un procedimiento que contiene una sentencia de Llamada a sí mismo o una sentencia de Llamada a un segundo procedimiento que puede eventualmente llamar de vuelta al procedimiento original P. Entonces P se dice que es un procedimiento recursivo. Como el programa no ha de continuar ejecutándose indefinidamente, un procedimiento recursivo ha de tener las dos siguientes propiedades:
Debe existir un cierto criterio, llamado criterio base, por el que el procedimiento no se llama así mismo. Cada vez que el procedimiento se llame a si mismo (directa o indirectamente), debe estar más cerca del criterio base. Un procedimiento recursivo con estas dos propiedades se dice que está bien definido.
Análogamente, una función se dice que está definido recursivamente si la definición de la función se refiere a sí misma. De nuevo, para que la definición no sea circular, debe tener las dos siguientes propiedades:
- Debe haber ciertos argumentos, llamados valores base, para los que la función no se refiera a sí misma.
- Cada vez que la función se refiera a sí misma, el argumento de la función debe acercarse más al valor base.
- Una función recursiva con estas dos propiedades se dice también que está bien definida.
Tipos.
Podemos distinguir dos tipos de recursividad:
Directa: Cuando un subprograma se llama a sí mismo una o más veces directamente.
Indirecta: Cuando se definen una serie de subprogramas usándose unos a otros.
Características.
Un algoritmo recursivo consta de una parte recursiva, otra iterativa o no recursiva y una condición de terminación. La parte recursiva y la condición de terminación siempre existen. En cambio la parte no recursiva puede coincidir con la condición de terminación. Algo muy importante a tener
...