• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

marinagomes

Recursividade

5 mensagens neste tópico

Boa tarde! Eu tenho um projecto de recursividade para entregar na 5ª feira e gostaria que me dessem uma explicação acerca de alguns tópicos :?

- Como trabalha a recursividade no stack, por ex. no caso do factorial;

- Porque é que ficamos a perder em termos de performance com esta tecnica;

- As principais rivalidades entre a recursividade e a iteratividade;

- Algumas aplicações práticas dela (ja tenho factorial... potencial... e fibonacci);

- Vantagens e desvantagens;

Ah! E se por acaso alguem tiver paginas de net boas acerca destes assuntos ... agradecida,

Marina Gomes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem-vinda ao forum marinagomes.

Vou ser rápido na resposta, visto que parece que o trabalho tem alguma urgencia em ser efectuado:

Cá fica um link completo acerca da recursividade que responde a grande parte dos tópicos que colocaste aqui no post:

http://en.wikipedia.org/wiki/Recursivity

Boa sorte.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde! Eu tenho um projecto de recursividade para entregar na 5ª feira e gostaria que me dessem uma explicação acerca de alguns tópicos  :?

- Como trabalha a recursividade no stack, por ex. no caso do factorial;

- Porque é que ficamos a perder em termos de performance com esta tecnica;

- As principais rivalidades entre a recursividade e a iteratividade;

- Algumas aplicações práticas dela (ja tenho factorial... potencial... e fibonacci);

- Vantagens e desvantagens;

Ah! E se por acaso alguem tiver paginas de net boas acerca destes assuntos ... agradecida,

Marina Gomes

Não sei o que queres dizer com stack mas presumo que não sabendo o que é factorial também não sabes o que é stack mesmo ( kidding :P )

Os procedimentos recursivos são mais lentos na maioria dos casos ( atenção! ) porque criam uma cadeia de operações adiadas e só apenas quando é atingida o caso básico, por exemplo no factorial que é 0! é que  ele executa as operações que estavam todas adiadas. O processo iterativo é mais rápido porque não constroi essa cadeia mas vai guardando os resultados das operações numa variável de estado que pode ser acedida a qualquer momento. O processo interativo pode ser pausado enquando que o recursivo não. Tanto pode haver soluções mais favorecidas para a recursividade como para a iteratividade. Penso que um bom exercício era fazeres todos os programas relativos aos operadores +,/,*,- apenas usando incrementos de 1 ou -1 e usando o operador de igualdade tanto para a solução recursiva e iterativa.

hf :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A stack é a pilha... que no recursivo vai ficando tudo na pilha até que depois é feito tudo (pela ordem inversa)! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora