Als ich anfing, Lisp zu lernen, bin ich auf den Begriff Schwanzrekursiv gestoßen . Was bedeutet es
Rekursion ist eine Art Funktionsaufruf, bei dem sich eine Funktion selbst aufruft. Solche Funktionen werden auch als rekursive Funktionen bezeichnet. Die strukturelle Rekursion ist eine Methode zur Problemlösung, bei der die Lösung eines Problems von Lösungen für kleinere Instanzen desselben Problems abhängt.
Als ich anfing, Lisp zu lernen, bin ich auf den Begriff Schwanzrekursiv gestoßen . Was bedeutet es
Was ist Tail-Call-Optimierung? Genauer gesagt, was sind einige kleine Codefragmente, wo sie angewendet werden könnten und wo nicht, mit einer Erklärung,
Angenommen, Sie haben eine flache Tabelle, in der eine geordnete Baumhierarchie gespeichert ist: 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 Hier ist ein Diagramm, wo wir haben [id] Name. Wurzelknoten 0 ist...
Ich versuche mit meiner Bash (neueste Ubuntu LTS-Version) alle Dateien mit einer bestimmten Erweiterung in einem Verzeichnis und seinen Unterverzeichnissen zu finden. Folgendes steht in einer Skriptdatei: #!/bin/bash directory="/home/flip/Desktop" suffix="in" browsefolders () for i in "$1"/*;...
Ich habe diese rekursive Schwanzfunktion hier: 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)) Es funktioniert bis n=997, dann bricht es einfach und spuckt a aus RecursionError: maximum recursion depth...
Betriebssystem: Linux Dateisystemtyp: ext3 Bevorzugte Lösung: Bash (Skript / Oneliner), Ruby, Python Ich habe mehrere Verzeichnisse mit mehreren Unterverzeichnissen und Dateien darin. Ich muss eine Liste aller dieser Verzeichnisse erstellen, die so aufgebaut ist, dass jedes Verzeichnis der...
Ich habe in meiner langjährigen Programmierung viel Rekursion verwendet, um einfache Probleme zu lösen, aber ich bin mir völlig bewusst, dass Sie manchmal aufgrund von Speicher- / Geschwindigkeitsproblemen eine Iteration benötigen. Irgendwann in der Vergangenheit habe ich versucht herauszufinden,...
Schauen Sie sich die folgenden zwei Methoden an: public static void foo() { try { foo(); } finally { foo(); } } public static void bar() { bar(); } Das Ausführen führt bar()eindeutig zu a StackOverflowError, das Ausführen foo()jedoch nicht (das Programm scheint nur auf unbestimmte Zeit...
Ich habe vor ein paar Tagen angefangen, Powershell zu lernen, und ich konnte auf Google nichts finden, was das tut, was ich brauche. Bitte tragen Sie meine Frage. Ich wurde gebeten, einige Textzeichenfolgen in mehrere Dateien zu ersetzen. Ich kenne nicht unbedingt die Erweiterung der möglichen...
Ich weiß, dass Rekursion manchmal viel sauberer ist als Schleifen, und ich frage nichts darüber, wann ich Rekursion über Iteration verwenden soll. Ich weiß, dass es dazu bereits viele Fragen gibt. Was ich frage ist, ist Rekursion immer schneller als eine Schleife? Mir scheint, Sie könnten eine...
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 max product } } Wie verwandle ich verschachtelte...
Ich habe morgen eine Informatik-Halbzeit und brauche Hilfe bei der Bestimmung der Komplexität dieser rekursiven Funktionen. Ich weiß, wie man einfache Fälle löst, aber ich versuche immer noch zu lernen, wie man diese schwierigeren Fälle löst. Dies waren nur einige der Beispielprobleme, die ich...
Gibt es einen Leistungseinbruch, wenn wir in Algorithmen, in denen beide denselben Zweck erfüllen können, eine Schleife anstelle einer Rekursion verwenden oder umgekehrt? Beispiel: Überprüfen Sie, ob die angegebene Zeichenfolge ein Palindrom ist. Ich habe viele Programmierer gesehen, die Rekursion...
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung...
Dies ähnelt dieser Frage , aber ich möchte den Pfad relativ zum aktuellen Verzeichnis in Unix aufnehmen. Wenn ich folgendes mache: ls -LR | grep .txt Es enthält nicht die vollständigen Pfade. Zum Beispiel habe ich die folgende Verzeichnisstruktur: test1/file.txt test2/file1.txt test2/file2.txt Der...
Ich habe den folgenden Code, der mit dem folgenden Fehler fehlschlägt: RuntimeError: Maximale Rekursionstiefe überschritten Ich habe versucht, dies neu zu schreiben, um die Optimierung der Schwanzrekursion (TCO) zu ermöglichen. Ich glaube, dass dieser Code erfolgreich gewesen sein sollte, wenn...
Die meisten von den Zeiten , ist die Definition der erneuten Eintritt von zitierte Wikipedia : Ein Computerprogramm oder eine Routine wird als wiedereintrittsfähig bezeichnet, wenn es sicher wieder aufgerufen werden kann, bevor sein vorheriger Aufruf abgeschlossen wurde (dh es kann sicher...
Ist es möglich, eine rekursive und anonyme PHP-Funktion zu haben? Dies ist mein Versuch, es zum Laufen zu bringen, aber es wird der Funktionsname nicht übergeben. $factorial = function( $n ) use ( $factorial ) { if( $n <= 1 ) return 1; return $factorial( $n - 1 ) * $n; }; print $factorial( 5 );...
Ich erstelle ein schnelles Sicherungsskript, das einige Datenbanken in eine nette / ordentliche Verzeichnisstruktur kopiert, und mir wurde klar, dass ich testen muss, um sicherzustellen, dass die Verzeichnisse vorhanden sind, bevor ich sie erstelle. Der Code, den ich habe, funktioniert, aber es...