Qual a vantagem em usar métodos recursivos?

alguém pode me dizer?

abraço

aumento de performance…
Leia:

http://www.mundooo.com.br/php/modules.php?name=News&file=print&sid=162

8O Opa! Peraí, não é bem assim…

A vantagem de usar métodos recursivos é a simplicidade de implementação de algoritimos que são por natureza recursivos. Mas em geral implementações recursivas são menos eficientes e podem ser convertidas para implementações iterativas.

O que o artigo do fhenriques diz é que em alguns casos o compilador JIT da JVM consegue otimizar esse código. E vale lembrar que nem todas as JVMs implementam isso.

:wink:

complementando o vinci, um método recursivo vai ser mais lento do q uma solução usando um loop pq faz diversas chamadas a ele mesmo, logo, enche a pilha de chamadas… eu pessoalmente nunca me encontrei num caso onde uma solução recursiva seria boa… pelo menos nao q eu lembre ou tenha pensado na recursividade como solução haeheahea

eu concordo com o matheus

eu tb nao me lembro de ter usado recursão quando poderia ter usado iteração…

Mas eu já me encontrei em muitas situações em que a recursão salvou minha cabeça(e olha que quando aprendi recursão na faculdade eu dizia: “Isso é inútil, não se usa mais”)

O que eu sei sobre recursão é que, muuuito antigamente, quando não existiam instruções de iteração, como nosso famoso FOR, usava-se recursão pra efetuar repetições…

Hj em dia, a recursão é usada em casos específicos…

Eu, por exemplo, tive que usar recursão para montar uma JTree que exibe a árvore de diretórios do drive C do cliente…

Eu nem consegui pensar em fazer isso por iteração…

Outra situação que a recursão é satisfatória é quando se precisa saber/escalar a hierarquia de classes de uma determinada classe… Por recursão isso fica muito ágil e fácil…

Mas realmente… Tirando esses poucos caso, acho que a recusão eh desnecessária…

Já tá muito bem explicado, mas só pra adicionar…
A recursão é tida como uma forma elegante de se resolver um problema, suas vantagens são clareza na leitura do código, simplicidade.
Suas desvantagens, pelo menos que eu conheço, são queda de performance se comparadas com estruções iterativas não recursivas e restrição do uso de variáveis estáticas locais (é um errinho meio sacana que pode dar dor de cabeça :D)…
Um exemplo clássico é a implementação dos números Fibonacci (caça no google!).
Situações onde o uso é crucial; caminhamento em árvores e grafos!
Aí sim a recursão deixa de ser luxo pra se tornar extremamente vantajosa.

recursão é lento…
até onde eu sei só deve ser usado em limitados (inexistentes?) casos onde é impossível uma solução iterativa, ou se vc só tem esse recursos (parece que a linguagem lisp só tem esse recurso)