Articles of recursion

Implicações do foldr vs. foldl (ou foldl ‘)

Em primeiro lugar, o Real World Haskell , que estou lendo, diz para nunca usar foldl e, em vez disso, usar foldl’ . Então eu confio nisso. Mas eu estou confuso quando usar foldr vs. foldr foldl’ . Embora eu possa ver a estrutura de como eles funcionam de maneira diferente na minha frente, sou […]

Exemplos de funções recursivas

Alguém pode sugerir exemplos de programação que ilustrem funções recursivas? Existem os habituais cavalos antigos, como as séries Fibonacci e Towers of Hanoi , mas qualquer coisa além deles seria divertida.

O que são paramorfismos?

Lendo através deste artigo clássico , estou preso em paramorfismos. Infelizmente a seção é bem fina, e a página da Wikipedia não diz nada. Minha tradução do Haskell é: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base h […]

Como recursivamente encontrar e listar os arquivos modificados mais recentes em um diretório com subdiretórios e horários?

Sistema operacional: Linux Tipo de sistema de arquivos: ext3 Solução preferida: bash (script / oneliner), ruby, python Eu tenho vários diretórios com vários subdiretórios e arquivos neles. Eu preciso fazer uma lista de todos esses diretórios que são construídos de maneira que cada diretório de primeiro nível seja listado ao lado da data e hora […]

contar o número de chamadas de uma cláusula

Eu tenho uma cláusula como a seguinte: lock_open: – condicional_combinação (X), igual (X, [8,6,5,3,6,9]),! impressão (X). esta cláusula é bem sucedida. Mas eu quero saber quantas vezes condicional_combinação () é chamada antes de equal(X,[8,6,5,3,6,9]) se tornar verdade. O programa é gerar uma permutação seguindo algumas regras. E eu preciso de quantas permutação é preciso gerar […]

Todos os algoritmos iterativos podem ser expressos recursivamente?

Se não, existe um bom contra-exemplo que mostre um algoritmo iterativo para o qual não existe uma contrapartida recursiva? Se for o caso de todos os algoritmos iterativos poderem ser expressos recursivamente, há casos em que isso é mais difícil de ser feito? Além disso, que papel desempenha a linguagem de programação em tudo isso? […]

Como recursivamente listar diretórios em C no Linux?

Eu preciso listar recursivamente todos os diretórios e arquivos na programação C. Eu olhei para o FTW, mas isso não está incluído nos dois sistemas operacionais que eu estou usando (Fedora e Minix). Estou começando a ter uma grande dor de cabeça de todas as coisas diferentes que li nas últimas horas. Se alguém souber […]

Chamando uma function javascript recursivamente

Eu posso criar uma function recursiva em uma variável assim: /* Count down to 0 recursively. */ var functionHolder = function (counter) { output(counter); if (counter > 0) { functionHolder(counter-1); } } Com isso, functionHolder(3); iria produzir 3 2 1 0 . Vamos dizer que fiz o seguinte: var copyFunction = functionHolder; copyFunction(3); produziria 3 […]

Sequência recursiva de Fibonacci em Java

Por favor, explique este código simples: public int fibonacci(int n) { if(n == 0) return 0; else if(n == 1) return 1; else return fibonacci(n – 1) + fibonacci(n – 2); } Estou confuso com a última linha, especialmente porque se n = 5 por exemplo, então fibonacci (4) + fibonacci (3) seria chamado e […]

Função recursiva causando um estouro de pilha

Eu estou tentando escrever uma function de peneira simples para calcular números primos em clojure. Eu já vi essa pergunta sobre como escrever uma function de peneira eficiente, mas ainda não estou nesse ponto. Neste momento, estou apenas tentando escrever uma peneira muito simples (e lenta). Aqui está o que eu inventei: (defn sieve [potentials […]