CriandoBits
Identifique-se Entrar Esqueceu a senha? Esqueci minha senha

Java - Recursividade

Por Benedito Silva Júnior - publicado em 18/07/2016


A recursão é uma forma de programar no qual o método (função) chama a ele mesmo. Isto pode parecer estranho ou um erro de programação, mais a recursão é uma das técnicas mais interessantes em programação.

A recursividade é nada mais nada menos do que uma função dentro da outra e ela deve ser pensada como uma pilha (estrutura de dados onde o último a entrar, deve ser o primeiro a sair).

A estrutura dela consiste em descer até a base fazendo os cálculos ou rotinas de cada instrução e então da base até o topo da pilha são empilhados os resultados de cada instrução, e no final o topo contém o resultado que é retornado.

Abaixo temos um esquema que ilustra o conceito de recursão e um exemplo de codificação que é frequentemente usado para explicar a recursividade:

Recursividade

Códigos:

public int soma(int n) { //a soma de n com 0 é o próprio n if(n == 0) { return n; } return n + soma(n - 1); } Se n = 4, então soma(4): /* return 4 + (4-1) = 7 return 7 + soma(3-1) = 9 return 9 + soma(2-1) = 10 */ public int fatorial(int n { if(n == 0) //fatorial de 0 é 1 return 1; //senão... return n * fatorial(n - 1); } Se n = 4, então fatorial(4): /* return 4 * (4-1) = 12 return 12 * fatorial(3-1) = 24 return 24 * fatorial(2-1) = 24 */


 
Voltar a pagina anteriorVoltarSubir ao topo da páginaTopo