Suchergebnisse für Anfrage "tail-recursion"

3 die antwort

Schwanzrekursionsoptimierung für JavaScript?

Ich entschuldige mich bei allen für die vagen früheren Versionen. Jemand hat beschlossen, Mitleid mit dem neuen Mädchen zu haben und mir beim Umschreiben dieser Frage zu helfen - hier ist ein Update, das hoffentlich die Dinge klären wird (und ...

2 die antwort

Erklärung der Listen: Fold-Funktion

Ich lerne immer mehr über Erlang und habe in letzter Zeit ein Problem. Ich lese überfoldl(Fun, Acc0, List) -> Acc1 Funktion. Ich habe das Tutorial learnyousomeerlang.com verwendet und es gab ein Beispiel (Beispiel zum Umgekehrten Polnischen ...

6 die antwort

Tail-Rekursion in C ++

Kann mir jemand eine einfache Schwanzrekursivfunktion in C ++ zeigen? Warum ist Schwanzrekursion besser, wenn es überhaupt so ist? Was für andere Arten der Rekursion gibt es neben der Schwanzrekursion?

TOP-Veröffentlichungen

36 die antwort

Wie breche ich in Scala aus einer Schleife aus?

Wie breche ich eine Schleife aus? 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 ...

2 die antwort

(Wie) kann ich diese monadische Bindung rekursiv machen?

Ich habe diese Monade namens Desync - [<AutoOpen>] module DesyncModule = /// The Desync monad. Allows the user to define in a sequential style an operation that spans /// across a bounded number of events. Span is bounded because I've yet to ...

2 die antwort

C # -Kompilierung mit rekursiver Schwanzoptimierung?

Basiert auf der Fülle von Stackoverflow, habe ich immer wieder Antworten darauf erhalten, ob die rekursive Schwanzoptimierung speziell für C # -Code durchgeführt wird. Einige der Fragen schienen über @ zu spreche Spekulation der Optimierung in ...

2 die antwort

Clojure: Vermeiden eines Stapelüberlaufs im Sieb von Erathosthen?

Hier ist meine Implementierung von Sieve of Erathosthene in Clojure (basierend auf der SICP-Lektion für Streams): (defn nats-from [n] (iterate inc n)) (defn divide? [p q] (zero? (rem q p))) (defn sieve [stream] (lazy-seq (cons (first stream) ...

6 die antwort

Schwanzrekursion findet nicht statt

Ich benutzeg++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2 in einem C ++ - Projekt. Ich habe eine Funktion geschrieben, die das macht: template<typename T, T (*funct)(int) > multiset<T> Foo(const multiset<T>& bar, int iterations) { if (iterations == 0) ...

16 die antwort

Was ist die Tail Call-Optimierung?

Sehr einfach, was ist Tail-Call-Optimierung? Kann jemand ein paar kleine Code-Schnipsel zeigen, wo sie angewendet werden könnten, und wo nicht, mit einer Erklärung, warum?

4 die antwort

Recursive Funktionen in Berechnungsausdrücken

Einigen Hintergrund zuerst. Ich lerne gerade ein paar Dinge über monadische Parser-Kombinatoren. Während ich versuchte, die 'chainl1'-Funktion von @ zu übertragdieses Papie [http://www.cs.nott.ac.uk/~gmh/monparsing.pdf] (S. 16-17), ich habe diese ...