Recursão C ++ (com exemplo)

Neste tutorial, aprenderemos sobre funções recursivas em C ++ e seu funcionamento com a ajuda de exemplos.

Uma função que chama a si mesma é conhecida como função recursiva. E, esta técnica é conhecida como recursão.

Trabalho de recursão em C ++

 void recurse() (… recurse();… ) int main() (… recurse();… )

A figura abaixo mostra como funciona a recursão, chamando a si mesma repetidamente.

Como funciona a recursão na programação C ++

A recursão continua até que alguma condição seja atendida.

Para evitar a recursão infinita, a instrução if… else (ou abordagem semelhante) pode ser usada onde um branch faz a chamada recursiva e o outro não.

Exemplo 1: fatorial de um número usando recursão

 // Factorial of n = 1*2*3*… *n #include using namespace std; int factorial(int); int main() ( int n, result; cout <> n; result = factorial(n); cout << "Factorial of " << n << " = " < 1) ( return n * factorial(n - 1); ) else ( return 1; ) )

Resultado

 Insira um número não negativo: 4 Fatorial de 4 = 24

Programa de Trabalho Fatorial

Como funciona este programa de recursão C ++

Como podemos ver, a factorial()função está chamando a si mesma. No entanto, durante cada chamada, diminuímos o valor de n em 1. Quando n é menor que 1, a factorial()função finalmente retorna a saída.

Vantagens e desvantagens da recursão

Abaixo estão os prós e contras do uso de recursão em C ++.

Vantagens da recursão C ++

  • Isso torna nosso código mais curto e mais limpo.
  • A recursão é necessária em problemas relativos a estruturas de dados e algoritmos avançados, como Graph e Tree Traversal.

Desvantagens da recursão C ++

  • Ele ocupa muito espaço na pilha em comparação a um programa iterativo.
  • Ele usa mais tempo do processador.
  • Pode ser mais difícil depurar em comparação com um programa iterativo equivalente.

Artigos interessantes...