Início > Dicas, Programação > Recursividade

Recursividade

Certo dia, você esta lendo um livro e encontra uma palavra que não sabe o significado. Ao invés de procurar no dicionário, você continua lendo. Adiante, você encontra a palavra novamente, só que pelo contexto, você conseguiu deduzir o significado dela. Então, você volta algumas páginas e lê novamente o trecho do texto onde você tinha visto a palavra e não tinha entendido, mas agora, entende. Já aconteceu isso com você? Comigo sim.

Quando você memorizou a palavra, continuou lendo e depois voltou e conseguiu entender a frase, você estava, inconscientemente, usando a recursividade.

Na programação, a recursividade acontece quando se tem uma função que pode invocar ela mesma. Os algoritmos recursivos são “métodos comuns de simplificação que consistem em dividir um problema em subproblemas do mesmo tipo. Como técnica de programação, isto se denomina divisão e conquista, e constitui a chave para o desenvolvimento de muitos algoritmos importantes, bem como um elemento fundamental do paradigma de programação dinâmica.” (WIKIPEDIA)

Um dos exemplos mais conhecidos de algoritmos recursivos, é a função fatorial. Veja abaixo a função fatorial escrita em Pascal:

function fatorial(n : integer) : integer;
begin
	if(n = 0)
	then
		begin
			fatorial := 1;
		end
	else
		begin
			fatorial := n * fatorial(n - 1);
		end;
end;

Quando a função é chamada, o computador vai guardando várias instâncias desta função, até que chegue no resultado final.

VANTAGENS:

  • Clareza no código;
  • Simplicidade e elegância na implementação.

DESVANTAGENS:

  • Dificuldade para encontrar erros;
  • Consumo de muito tempo e memória.

Para mais informações sobre a recursividade, clique aqui.

Acesse o novo endereço do Olá Mundo!: http://ola-mundo.com

  1. Sy
    20 de abril de 2010 às 14:37

    Muito boa as postagens. Parabéns!! Informação com qualidade!

  2. 20 de abril de 2010 às 19:35

    Muito obrigado Sormany. Estou fazendo o possível para manter este blog atualizado e com informações de qualidade.

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: