Enquanto começava a aprender cocô, me deparei com o termo recursivo da cauda . O que isso significa
A recursão é um tipo de chamada de função na qual uma função se chama. Tais funções também são chamadas de funções recursivas. A recursão estrutural é um método de solução de problemas em que a solução para um problema depende de soluções para instâncias menores do mesmo problema.
Enquanto começava a aprender cocô, me deparei com o termo recursivo da cauda . O que isso significa
Muito simplesmente, o que é otimização de chamada de cauda? Mais especificamente, quais são alguns pequenos trechos de código onde eles podem ser aplicados e onde não, com uma explicação do
Suponha que você tenha uma tabela plana que armazene uma hierarquia de árvore ordenada: Id Name ParentId Order 1 'Node 1' 0 10 2 'Node 1.1' 1 10 3 'Node 2' 0 20 4 'Node 1.1.1' 2 10 5 'Node 2.1' 3 10 6 'Node 1.2' 1 20 Aqui está um diagrama, onde temos [id] Name. O nó raiz 0 é fictício....
Estou tentando encontrar todos os arquivos com uma extensão específica em um diretório e seus subdiretórios com o meu bash (versão mais recente do Ubuntu LTS). Isto é o que está escrito em um arquivo de script: #!/bin/bash directory="/home/flip/Desktop" suffix="in" browsefolders () for i in...
Eu tenho essa função recursiva da cauda aqui: def recursive_function(n, sum): if n < 1: return sum else: return recursive_function(n-1, sum+n) c = 998 print(recursive_function(c, 0)) Funciona até n=997, então apenas quebra e cospe a RecursionError: maximum recursion depth exceeded in...
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. Eu preciso fazer uma lista de todos esses diretórios que são construídos de forma que todos os diretórios de...
Eu usei bastante a recursão nos meus muitos anos de programação para resolver problemas simples, mas tenho plena consciência de que às vezes você precisa de iteração devido a problemas de memória / velocidade. Então, em algum momento no passado, tentei descobrir se havia alguma maneira "padrão" ou...
Dê uma olhada nos dois métodos a seguir: public static void foo() { try { foo(); } finally { foo(); } } public static void bar() { bar(); } A execução bar()resulta claramente em a StackOverflowError, mas a execução foo()não (o programa parece funcionar indefinidamente). Por que é...
Comecei a aprender PowerShell há alguns dias e não consegui encontrar nada no Google que fizesse o que eu precisava. Por isso, aceite minha pergunta. Me pediram para substituir algumas seqüências de texto em vários arquivos. Não sei necessariamente a extensão dos possíveis arquivos de destino e...
Sei que a recursão às vezes é muito mais limpa do que o loop, e não estou perguntando nada sobre quando devo usar a recursão sobre a iteração, sei que já existem muitas perguntas sobre isso. O que estou perguntando é: a recursão é cada vez mais rápida que um loop? Para mim, parece que você sempre...
Como faço para quebrar um loop? var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here else if(product.toString.equals(product.toString.reverse)) largest=largest max product } } Como transformar aninhados...
Eu tenho um curso de Ciência da Computação amanhã e preciso de ajuda para determinar a complexidade dessas funções recursivas. Sei como resolver casos simples, mas ainda estou tentando aprender como resolver esses casos mais difíceis. Esses foram apenas alguns dos problemas de exemplo que não...
Existe um impacto no desempenho se usarmos um loop em vez de recursão ou vice-versa em algoritmos em que ambos podem servir ao mesmo propósito? Por exemplo: verifique se a sequência fornecida é um palíndromo. Eu já vi muitos programadores usando a recursão como um meio de mostrar quando um...
Atualmente, essa questão não se encaixa no nosso formato de perguntas e respostas. Esperamos que as respostas sejam apoiadas por fatos, referências ou conhecimentos, mas essa pergunta provavelmente solicitará debates, argumentos, pesquisas ou discussões prolongadas. Se você acha...
Isso é semelhante a esta pergunta , mas quero incluir o caminho relativo ao diretório atual no unix. Se eu fizer o seguinte: ls -LR | grep .txt Não inclui os caminhos completos. Por exemplo, eu tenho a seguinte estrutura de diretórios: test1/file.txt test2/file1.txt test2/file2.txt O código...
Eu tenho o seguinte pedaço de código que falha com o seguinte erro: RuntimeError: profundidade máxima de recursão excedida Tentei reescrever isso para permitir a otimização da recursão de cauda (TCO). Acredito que esse código teria sido bem-sucedido se um TCO tivesse ocorrido. def trisum(n,...
A maioria dos os tempos , a definição de reentrada é citado de Wikipedia : Um programa ou rotina de computador é descrito como reentrante, se puder ser chamado com segurança novamente antes que sua chamada anterior seja concluída (isto é, pode ser executada com segurança simultaneamente). Para...
É possível ter uma função PHP recursiva e anônima? Esta é minha tentativa de fazê-lo funcionar, mas não passa o nome da função. $factorial = function( $n ) use ( $factorial ) { if( $n <= 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5 ); Também sei que essa é uma...
Estou criando um script de backup rápido que despejará alguns bancos de dados em uma estrutura de diretórios agradável / legal e percebi que preciso testar para garantir que os diretórios existam antes de criá-los. O código que tenho funciona, mas parece que existe uma maneira melhor de fazê-lo....