viernes, 4 de octubre de 2019

RECURSIVIDAD



¿Qué es la recursividad?
Es un proceso de recurrencia con n repeticiones, replicando algo que ya ocurrió. En Java es un procedimiento para resolver un problema complejo reduciéndolo a uno o más subproblemas; un método se puede llamar a si mismo.

Características de la Recursividad.

  • Tiene las misma estructura que el problema original.
  • Más simple de resolver.
  • Los subproblemas se dividen usando el mismo procedimiento.
  • Los subproblemas se hacen más simples.

Estructura general de un algoritmo recursivo.



Un ejemplo puede ser el factorial de un numero donde: 


n! = 1 * 2 * 3 * 4 ... *(n - 1) * n

Codificado en Java seria: 

Public int factorial(int n) {
   if (n == 0){                                      
      return 1;
   } else {
      return n  * factorial(n - 1);
   }

}

Donde el caso base es:

 Public int factorial(int n) {
   if (n == 0){                                      
      return 1;
   }
}

Y el dominio es:

else {
      return n  * factorial(n - 1);

   }

Otro ejemplo es la solución de la sucesión de Fibonacci, que es la suma de los dos números anteriores. Iniciando esta serie con 0 y 1, dicha sucesión es infinita...
Vídeo de ejemplo... ↓↓


No hay comentarios.:

Publicar un comentario