Site hosted by Angelfire.com: Build your free website today!

 

Filmina #1

 

 

Recursividad

 

 

 

La recursividad es una técnica medular para la resolución de problemas que permite expresar la solución de un problema en términos de si misma.

 

 

 

 

 

Esta técnica permite producir fragmentos de código pequeño de gran poder en cuanto a funcionalidad.

 

 

Filmina #2

 

 

La técnica se basa en descomponer un problema dividiéndolo en un caso base de solución conocida o inmediata, y un subproblema análogo al problema original pero más simple o cercano a la solución.

 

 

  Filmina #3

 

 

 Por ejemplo: El problema de “ir hasta la puerta caminando desde un  lugar” se puede expresar recursivamente como:

 

 

    El caso base que es dar un paso hacia la puerta,  y si no se llega entonces “ir hasta la puerta caminando desde el lugar al que se llegó luego de dar el paso”.

 

 

    Eventualmente se llegará a la puerta a pesar de que no se sepa cuantos pasos son necesarios para llegar hasta allá.

 

 

 

 

 

Filmina #4

 

 

método recursivo

 

 

 

    Un método recursivo es aquel que entre sus instrucciones incluye un llamado a sí mismo y al menos un caso de solución inmediata.

 

 

    Los métodos recursivos se deben programar con el mismo cuidado que las estructuras de control de repetición, ya que en cierta forma son equivalentes.

 

 

 

 

 

Filmina #5

 

 

Un método recursivo debe cumplir con lo siguiente:

 

 

     Debe tener una o más condiciones que detengan los llamados recursivos. Se le denomina comúnmente como el “caso base” o la “condición de parada” para detener la recursividad.

 

 

     Debe tener uno o más llamados a si mismo.

 

 

 

 

 

Filmina #6

 

 

Suponga que se tiene el método para calcular una sumatoria.

 

 

int f ( int n ) {

 

 

  if( n > 0 ) {

 

 

    return f(n-1) + n;

 

 

  }

 

 

  else {

 

 

    return n;

 

 

  }

 

 

}

 

 

 

 

 

Filmina #7

Vimos un poco respecto a listas enlazadas sencillamente.

vimos clases anidadas como la clase Nodo para crear lista.


Filmina #8

 

 

In the preceding sections, we studied methods factorial and fibonacci, which can easily

 

 

be implemented either recursively or iteratively. In this section, we compare the two approaches

 

 

and discuss why the programmer might choose one approach over the other in a

 

 

particular situation.

 

 

 

Deitel séptima Edicion,Java como programar pagina 787.