2013/04/30

Java - Capitulo 16: Recursão ou recursividade

new Comment();
Capitulo 16: Recursão ou recursividade


Recursão ou recursividade

Ocorre quando um método Java chama a si próprio, direta ou indiretamente.


Recursividade direita

public void escrever(){
    escrever();
}


Recursividade indireta

public void a(){
    b();
}


public void b(){
    a();
}


Veja um exemplo de um método recursivo que conta de 0 até 10:

public void contar(int valor){
     sout(valor)
     if(valor == 10){
          sout("fin");
     }else{
          valor++;
          contar(valor);
     }
}
contar(0);


Fatorial

public int fatorial (int n){
    if(n==0){
        return 1;
    }else{
        return n*fatorial (n-1);
    }
}

Se n = 5 o programa faria o seguinte: 5 * 4 * 3 * 2 * 1


Potência

public int potencia (int base, int expoente){
if ( expoente == 0) {
    return 1;
}else{
    return base * potencia (base, expoente -1);
}

main: sout(potencia(4,3));
4*4*4*1

If You Enjoyed This, Take 5 Seconds To Share It

0 comentarios:

Postar um comentário