Breaking

Post Top Ad

Your Ad Spot

jueves, 19 de diciembre de 2019

Recursion de Java

En este artículo, aprenderá a crear funciones recursivas; Una función que se llama a sí misma. Además, aprenderá sobre sus ventajas y desventajas.
Un método que se llama a sí mismo se conoce como método recursivo. Y, esta técnica se conoce como recursión.
Un ejemplo del mundo físico sería colocar dos espejos paralelos uno frente al otro. Cualquier objeto entre ellos se reflejaría recursivamente.

¿Cómo funciona la recursividad?

Recursion de Java
En el programa anterior, el recurse()método se llama desde el interior del método principal al principio (llamada al método normal).
Además, recurse()se llama al método desde el interior del mismo método, recurse()Esta es una llamada recursiva.
La recursión continúa hasta que se cumpla alguna condición para evitar que se ejecute. Si no, se produce una recursión infinita.
Por lo tanto, para evitar una recursión infinita, si ... otra declaración (o enfoque similar) se puede usar donde una rama hace la llamada recursiva y la otra no.

Ejemplo: factorial de un número usando recursividad

  1. class Factorial {
  2. static int factorial( int n ) {
  3. if (n != 0)
  4. return n * factorial(n-1); // recursive call
  5. else
  6. return 1;
  7. }
  8. public static void main(String[] args) {
  9. int number = 4, result;
  10. result = factorial(number);
  11. System.out.println(number + " factorial = " + result);
  12. }
  13. }
Cuando ejecuta el programa anterior, la salida será:
4 factorial = 24
Inicialmente, factorial()se llama desde el main()método con el número pasado como argumento.
Dentro del factorial()método, el valor de n es 4 inicialmente. Durante la siguiente llamada recursiva, se pasa 3 al factorial()método. Este proceso continúa hasta que n es igual a 0.
Cuando n es igual a 0, la ifcondición falla y elsese ejecuta la parte que devuelve 1, y el resultado acumulado se pasa al main()método.

Esta figura le dará una mejor idea sobre cómo funciona el programa anterior.
¿Cómo funciona la recursividad en Java?

Ventajas y desventajas de la recursividad

Cuando se realiza una llamada recursiva, se asigna una nueva ubicación de almacenamiento para las variables en la pila. A medida que se devuelve cada llamada recursiva, las antiguas variables y parámetros se eliminan de la pila. Por lo tanto, la recursión generalmente usa más memoria y generalmente es lenta.
Por otro lado, la solución recursiva es mucho más simple y lleva menos tiempo escribir, depurar y mantener.
Lectura recomendada: ¿Cuáles son las ventajas y desventajas de la recursividad?

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas