Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Usos para uma função recursiva
recursão pode ser uma técnica útil para programadores . Funções recursivas , às vezes conhecido como "métodos" em linguagens como Java, são funções que chamam a si mesmos. Há certas situações em que as funções recursivas são particularmente adequados . No entanto, pode ser difícil de implementar corretamente uma função recursiva , de modo que deve ser utilizado apenas quando necessário . Funções recursivas são frequentemente útil ao lidar com estruturas de dados e atividades matemáticas. Classificando

Quando os dados do modelo de programas , seja internamente ou importados a partir de uma fonte, como um banco de dados , que muitas vezes precisam de classificá-lo . Algumas estruturas de dados não são ordenados, o que significa que os elementos não são organizadas em ordem consecutiva. Por exemplo , um programa pode conter uma matriz com cadeias de texto no seu interior . Para classificar a matriz para que as seqüências de texto são organizados em ordem ascendente em ordem alfabética, o programa pode ser necessário usar um algoritmo. Merge sort é um exemplo de um método recursivo para este processo. Merge sort funciona dividindo continuamente a matriz em duas, classificando cada metade antes de fundir -los de volta em um.
Pesquisando

Quando armazenar dados de programas em estruturas de dados , que muitas vezes precisa localizar elementos particulares que utilizam algoritmos de busca, que podem beneficiar de recursão. Por exemplo, se uma matriz é armazenar valores em ordem alfabética , o programa pode usar recursão para descobrir o que a posição de um determinado elemento está. Pesquisa binária envolve o programa de verificação continuamente um elemento no meio do array. Se o elemento corresponde a um programa de procura , pode parar. Se não é o elemento em questão , o algoritmo pode verificar se é maior ou menor do que o elemento de pesquisa . Se ela for superior , o algoritmo pode eliminar a parte superior da estrutura para além do elemento de corrente , como o elemento de pesquisa deve estar na metade inferior . Esse processo continua até que o elemento se encontra.

Estruturas de Dados

Ao decidir sobre algoritmos , os programadores deveriam perguntar se uma função iterativa que não é recursiva poderia resolver a tarefa, bem como um recursiva . Por exemplo , em certas estruturas de dados , um programa necessita para pesquisar através de uma forma linear até localizar um ponto de pesquisa . Neste caso, não há alternativa senão a de percorrer a estrutura. Algoritmos recursivos simplificar a tarefa a cada iteração , verificando se o ponto final chegou, em seguida, chamar a função novamente , se ele não tem. Para demonstrar as semelhanças entre recursão e iteração, o seguinte método Java exemplo mostra um método esboço recursiva : processNumber (int myNum ) public void {if ( myNum > 100 ) return ; mais processNumber ( myNum * 5) ;}

Uma implementação alternativa iterativo disto seria como se segue : int anum = 3 , enquanto ( anum < 100 ) { anum * = 5 ; }

neste caso, a versão mais simples iterativo é
< br . >
tarefas matemáticas

Algumas tarefas de processamento matemáticos são particularmente adequados para funções recursivas . Seqüências de Fibonacci demonstrar processamento recursivo. Cada número de sequência de Fibonacci é a soma das duas anteriores . O seguinte código Java de exemplo demonstra uma função para encontrar um número de Fibonacci : public int getFibonacci (int fNum ) {if ( fNum <= 1 ) return fNum , senão retornar getFibonacci ( fNum -1) + getFibonacci ( fNum -2); }

o método retorna o número na sequência de Fibonacci na posição indicada por um parâmetro inteiro quando o código chama, como se segue: getFibonacci (8);

Este voltaria a oitava série . (Veja Referências 3, 4 , 5)

Anterior :

Próximo : No
  Os artigos relacionados
·Como armazenar Handle MATLAB 
·As técnicas de Semântica Descrição 
·As desvantagens do uso de Widgets no projeto de computa…
·Ligue : Truques codificação direta 
·Como distribuir Xcode no Mac Apps 
·O que é Interleave Codificação 
·Qual é o significado de depuração 
·Como verificar o intervalo de datas em COBOL 
·Como criar uma filial SVN de um arquivo vivo 
·Eu não posso começar um Proxy para trabalhar em um em…
  Artigos em destaque
·Função em C para Palindromes 
·Como remover o expoente de um flutuador em C + + 
·Como Target subexibição no iPhone SDK 
·Como exibir GridView em uma página separada 
·Como construir um aplicativo móvel que usa uma câmera…
·Script A Process Explorer 
·Como reduzir um banco de dados ASA 
·Como criar um Spybot IRC 
·Como escrever uma Hex File 
·Como definir o nível de isolamento em ODBC 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados