Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Recursión de Java

Recursividad de Java

En este tutorial, aprenderá sobre la función recursiva de Java, sus ventajas y desventajas.

En Java, un método que se llama a sí mismo se conoce como método recursivo. Y este proceso se conoce como recursividad.

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?

En el ejemplo anterior, hemos llamado al recurse() método desde dentro del main método. (llamada al método normal). Y, dentro del método recurse(), estamos llamando de nuevo al mismo método recurse. Esta es una llamada recursiva.

Para detener la llamada recursiva, debemos proporcionar algunas condiciones dentro del método. De lo contrario, el método se llamará infinitamente.

Por lo tanto, usamos la declaración if...else (o un enfoque similar) para terminar la llamada recursiva dentro del método.


Ejemplo:factorial de un número usando recursividad

class Factorial {

    static int factorial( int n ) {
        if (n != 0)  // termination condition
            return n * factorial(n-1); // recursive call
        else
            return 1;
    }

    public static void main(String[] args) {
        int number = 4, result;
        result = factorial(number);
        System.out.println(number + " factorial = " + result);
    }
}

Salida :

4 factorial = 24

En el ejemplo anterior, tenemos un método llamado factorial() . El factorial() se llama desde el main() método. con el número variable pasada como argumento.

Aquí, observe la declaración,

return n * factorial(n-1);

El factorial() el método se está llamando a sí mismo. Inicialmente, el valor de n es 4 dentro de factorial() . Durante la próxima llamada recursiva, 3 se pasa al factorial() método. Este proceso continúa hasta n es igual a 0.

Cuando n es igual a 0, el if declaración devuelve falso, por lo tanto, se devuelve 1. Finalmente, el resultado acumulado se pasa al main() método.


Funcionamiento del Programa Factorial

La imagen a continuación le dará una mejor idea de cómo se ejecuta el programa factorial usando recursividad.


Ventajas y desventajas de la recursividad

Cuando se realiza una llamada recursiva, se asignan nuevas ubicaciones de almacenamiento para las variables en la pila. A medida que regresa cada llamada recursiva, las variables y parámetros antiguos se eliminan de la pila. Por lo tanto, la recursividad generalmente usa más memoria y es generalmente lenta.

Por otro lado, una solución recursiva es mucho más simple y requiere menos tiempo para escribir, depurar y mantener.

Lectura recomendada:¿Cuáles son las ventajas y desventajas de la recursividad?


Java

  1. Operadores Java
  2. Interfaz Java
  3. Prueba de Java con recursos
  4. Anotaciones Java
  5. Tipos de anotación de Java
  6. Método String Length () en Java:cómo encontrar con el ejemplo
  7. Método Java String charAt() con ejemplo
  8. Java String termina con () método con ejemplo
  9. Método Java String replace(), replaceAll() y replaceFirst()
  10. Cómo invertir una cadena en Java usando recursión
  11. Java - Anulación