Recursividad en estructura de datos
Se puede decir que la recursividad es la forma en la cual seespecifica 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 sutamaño, sea este N, pueda ser dividido en instancias más pequeñas (menores que N)
La recursividad es un concepto importante en informática. Muchos algoritmos se pueden describir mejor en términosde recursividad.
Supongamos que P es un procedimiento que contiene una sentencia de Llamada a si mismo o una sentencia de Llamada a un segundo procedimiento que puede eventualmente llamar de vueltaal procedimiento original P. Entonces P se dice que es un procedimiento recursivo. Como el programa no ha de continuar ejecutandose indefinidamente, un procedimiento recursivo ha de tener las dossiguientes propiedades:
1. Debe existir un cierto criterio, llamado criterio base, por el que el procedimiento no se llama así mismo.
2. Cada vez que el procedimiento se llame a si mismo(directa oindirectamente), debe estar mas cerca del criterio base.
Un procedimiento recursivo con estas dos propiedades se dice que esta bien definido.
Análogamente, una función se dice que esta definidarecursivamente si la definición de la función se refiere a si misma. De nuevo, para que la definición no sea circular, debe tener las dos siguientes propiedades:
1. Debe haber ciertos argumentos,llamados valores base, para los que la función no se refiera a si misma.
2. Cada vez que la función se refiera a si misma, el argumento de la función debe acercarse más al valor base.
Una funciónrecursiva con estas dos propiedades se dice también que esta bien definida.
Tipos.
Podemos distinguir dos tipos de recursividad:
Directa: Cuando un subprograma se llama a si mismo una o mas veces...
Regístrate para leer el documento completo.