Recursão em Java | Explicado

Recursão em Java | Explicado
A abordagem de recursão é muito adequada para os problemas que podem ser divididos em problemas menores, mais simples e repetitivos. É um procedimento no qual uma função se chama repetidamente/recursivamente e deve haver pelo menos uma condição de rescisão/parada para parar a recursão. O método que está se chamando é descrito como um função recursiva e todo o processo é conhecido como recursão em java.

Esta gravação apresenta uma compreensão profunda dos seguintes conceitos relacionados à recursão Java:

  • O que é recursão em java
  • Sintaxe básica da função de recursão
  • Como trabalhar com recursão Java

Então vamos começar!

O que é recursão em java

Geralmente, testemunhamos uma função chamando outra função ou funções. No entanto, uma função recursiva se chama repetidamente. Os trechos abaixo do rumo retratam como um método normal difere de um método recursivo.

Sintaxe básica da função normal

Public Void FirstFunction ()

Sistema.fora.println ("Esta é uma função normal");
SecondFunction ();

O trecho acima mostra como uma função normal definida pelo usuário parece eu.e. tem poucas declarações (código) e chama uma função nomeada SecondFunction ().

Sintaxe básica da função recursiva

Agora, vamos dar uma olhada no trecho abaixo do rolo para entender como uma função recursiva parece:

Public Void FirstFunction ()

Sistema.fora.println ("Esta é uma função recursiva");
FirstFunction ();

Considere a figura abaixo para entender como a função recursiva acima funcionará:

A figura acima mostra que a função está se chamando continuamente.e. Um cenário de loop infinito ocorre. Agora você deve estar se perguntando se a função está se chamando continuamente, então como ela parará? Bem! Temos que definir os critérios de rescisão para interromper essa função em algum momento.

Haltening/Termination Condition

Por enquanto, está claro que deve haver uma condição que controla o fluxo da função recursiva. Em termos programáticos, a condição que impede a função a se chamar é referida como a condição de parada ou caso base.

A sintaxe da função recursiva com a condição de interrupção será algo assim:

public void functionName ()

functionName ();
// condição de terminação;

A condição de parada pode ser qualquer condição, dependendo das diferentes circunstâncias.

Exemplos de recursão de java

Esta seção fornecerá uma compreensão detalhada de como a função recursiva funciona com o caso base em java.

Exemplo

O snippet abaixo-dado pega um número do usuário e encontra o fatorial desse número:

classe pública FatorialClass
static int findFactorial (int num)
if (num == 0)
retornar 1;

outro
return (num * findFactorial (num - 1));


No trecho de código acima, a condição if-else é usada para interromper a recursão quando "num" se torna igual a "0".

public static void main (string [] args)
Scanner Scan = New Scanner (sistema.em);
Sistema.fora.println ("Digite um número positivo:");
INT número = varredura.nextInt ();
se (número < 0)
Sistema.fora.println ("Você inseriu um número inválido:");
outro
int resultado = findFactorial (número);
Sistema.fora.println ("Fatorial:" + resultado);

No método principal, estamos buscando o número do usuário, verificando que o número é válido ou não, e se o número for válido, ligue para o FindFactorial () método. Todo o código gerará a seguinte saída:

A saída autentica a função recursiva está funcionando corretamente e calculou o fatorial de 6 corretamente.

Conclusão

Em Java, um processo em que uma função se chama repetidamente, é chamada de função/método recursivo Enquanto todo o processo é conhecido como recursão. Um estojo base/parada deve ser definido nas funções recursivas para interromper a recursão em algum momento, caso a função nunca pare e se chama um número ilimitado de vezes. Este artigo elabora o que é recursão, a diferença entre a função normal e recursiva e como criar funções recursivas em Java.