Resultados da pesquisa a pedido "tail-recursion"

5 a resposta

Combinar memoização e recursão da cauda

É possível combinar memoização e recursão de alguma forma? Estou aprendendo F # no momento e entendo os dois conceitos, mas não consigo combiná-los. Suponha que eu tenha o seguintememoize função (deProgramação funcional do mundo real ...

1 a resposta

O operador de canal (avançado) pode / evita a otimização da chamada de cauda?

Para um problema de otimização de parâmetros no trabalho, escrevi um algoritmo genético para encontrar algumas boas configurações porque uma solução de força bruta é inviável. Infelizmente, quando volto de manhã, na maioria das vezes me deparo ...

1 a resposta

Estouro de pilha, apesar da posição de chamada final, mas apenas em 64 bits

Originado deessa questão [https://stackoverflow.com/questions/35722526/], Eu tenho esse pequeno código F # (github [https://github.com/T-Becker/fsharp-stackoverflow-investigation/tree/real-so-source-found] ) para gerar valores aleatórios de ...

2 a resposta

Onde está a posição da cauda no meu loop Clojure?

Clojure está dizendo que não posso ligarrecur de uma posição sem cauda. Esta não é a posição da cauda? o queé a posição da cauda no meu loop então? (loop [i 20] (for [x (range 1 21)] (if (zero? (rem i x)) i (recur (+ i 1)))))

4 a resposta

Como reconhecer o que é e o que não é recursão de cauda?

Às vezes, é bastante simples (se a auto-chamada é a última declaração, é recursão final), mas ainda há casos que me confundem. Um professor me disse que "se não há instruções a serem executadas após a auto-chamada, é recursão final". Que tal ...

2 a resposta

Recursão da cauda em Haskell

Estou tentando entender a recursão da cauda em Haskell. Acho que entendo o que é e como funciona, mas gostaria de ter certeza de que não estou estragando tudo. Aqui está a definição fatorial "padrão": factorial 1 = 1 factorial k = k * factorial ...

6 a resposta

Como posso expressar um fatorial n! com uma função F #, recursiva ou não?

Um fatorial de um número natural (qualquer número maior ou igual a0) é esse número multiplicado pelo fatorial de si menos um, onde o fatorial de0 é definido como1. Por exemplo: 0! = 1 1! = 1 * 0! 2! = 2 * 1! 3! = 3 * 2! 4! = 4 * 3! 5! = 5 * ...

1 a resposta

Projetando recursão da cauda usando java 8

Eu estava tentando o seguinte exemplo fornecer nofalar [https://youtu.be/4tEi86h8-TM?t=32m30s]para entender a recursão da cauda em java8. @FunctionalInterface public interface TailCall<T> { TailCall<T> apply(); default boolean isComplete() { ...

1 a resposta

O Java suporta recursão de cauda? [duplicado]

Possível duplicado: Por que a JVM ainda não suporta a otimização de chamada de cauda? [https://stackoverflow.com/questions/3616483/why-does-the-jvm-still-not-support-tail-call-optimization] Vejo tantas respostas diferentes online, então pensei ...

3 a resposta

Função recursiva de otimização de chamada de cauda

Esta é uma função que nivela profundamente uma matriz const deepFlatten = (input) => { let result = []; input.forEach((val, index) => { if (Array.isArray(val)) { result.push(...deepFlatten(val)); } else { result.push(val); } }); return result; ...