recursion

Rekursion ist eine Art Funktionsaufruf, bei dem sich eine Funktion selbst aufruft. Solche Funktionen werden auch rekursive Funktionen genannt. Strukturelle Rekursion ist eine Methode zur Problemlösung, bei der die Lösung eines Problems von Lösungen für kleinere Instanzen des gleichen Problems abhängt.
7
Antworten

rekursive Funktion, um alle untergeordneten Kategorien zu erhalten

Hier ist, was ich versuche zu tun: - Ich brauche eine Funktion, die, wenn sie als Argument übergeben wird, eine ID (für eine Kategorie von Dingen) alle Unterkategorien und die Unter-Unterkategorien und Unter-Sub-Sub-etc. - Ich dachte, eine rekur...
07.03.2010, 23:15
8
Antworten

java.lang.StackOverflowError aufgrund von Rekursion

Mein Problem ist, dass ich normalerweise einen java.lang.StackOverflowError bekomme, wenn ich Rekursion verwende. Meine Frage ist - warum verursacht Rekursion Stackoverflow so viel mehr als Schleifen, und gibt es eine gute Möglichkeit, Rekursion...
21.08.2013, 21:57
4
Antworten

Rekursives Sortieren in Perl

Ich habe einen Hash, der Schlüssel enthält, die Datenbank-Indexen entsprechen, aber die Datenbank kann mehrdimensionale Datensätze haben, so dass der Schlüssel ein einzelner Index oder eine Liste von Indizes sein kann. Ich muss einen Weg find...
09.05.2016, 21:10
4
Antworten

Wie durchläuft man eine verschachtelte Hierarchie von NSDictionaries und NSArrays und konvertiert alle in veränderbare Kopien?

Ich habe ein NSDictionary , das Instanzen vieler verschiedener Objekttypen enthält ( NSArrays , NSDictionaries , NSStrings , NSNumbers usw.). Viele der NSDictionaries und NSStrings haben ihre eigenen verschachtelten NSDictionar...
23.03.2013, 14:05
3
Antworten

Y-Kombinator, Unendliche Typen und anonyme Rekursion in Haskell

Ich habe versucht, das maximale Subsequenz-Problem zu lösen und eine Neato-Lösung gefunden %Vor% Sie rufen die Wrapperfunktion msss auf, die dann f aufruft, was wiederum die Arbeit erledigt. Die Lösung ist gut und afaik funktioniert...
29.11.2011, 09:24
7
Antworten

Wie finde ich die Tiefe einer rekursiven Funktion in C ++?

Wie kann ich die aktuelle Tiefe innerhalb einer rekursiven Funktion in C ++ finden, ohne die vorherige Ebene zu übergeben? Ist es möglich zu wissen, wie oft die Funktion aufgerufen wurde, ohne einen Parameter zu verwenden, um den Pegel zu verfol...
29.10.2010, 22:26
1
Antwort

___ tag123recursion ___ Rekursion ist eine Art Funktionsaufruf, bei dem sich eine Funktion selbst aufruft. Solche Funktionen werden auch rekursive Funktionen genannt. Strukturelle Rekursion ist eine Methode zur Problemlösung, bei der die Lösung eines Problems von Lösungen für kleinere Instanzen des gleichen Problems abhängt. ___ tag123scheme ___ Scheme ist eine funktionale Programmiersprache in der Lisp-Familie, die dem Lambda-Kalkül sehr ähnlich ist, mit eifriger (applicative-order) -Auswertung. Bei Fragen zu URL-Schemas verwenden Sie bitte das Tag "url-scheme". ___ answer13664715 ___

Damit eine Funktion tail-rekursiv ist, muss nach der Rückgabe der Funktion nichts weiter zu tun sein, als ihren Wert zurückzugeben. Das heißt, das letzte, was im rekursiven Schritt passiert, ist der Aufruf der Funktion selbst. Dies wird im Allgemeinen durch Verwendung eines Akkumulatorparameters erreicht, um die Antwort zu verfolgen:

%Vor%

Die obige Prozedur wird zunächst mit %code% als Akkumulator wie folgt aufgerufen:

%Vor%

Beachten Sie, dass der akkumulierte Wert zurückgegeben wird, wenn der Basisfall erreicht wird, und dass der Parameter %code% an jedem Punkt des rekursiven Aufrufs aktualisiert wird. Ich musste der Prozedur einen zusätzlichen Parameter hinzufügen, aber dies kann vermieden werden, indem man eine innere Prozedur oder eine benannte %code% definiert, zum Beispiel:

%Vor%     
___ tag123tailrecursion ___ Die Tail-Rekursion ist eine rekursive Strategie, bei der eine Funktion eine gewisse Menge an Arbeit ausführt und sich dann selbst aufruft. Der "Schwanz" bezieht sich auf die Tatsache, dass die Rekursion am Ende der Funktion ist. Viele - insbesondere funktionale - Programmiersprachen-Compiler können diese Arten von Aufrufen in Iteration umwandeln, was bedeutet, dass die Tail-Rekursion in unterstützten Sprachen ohne Angst vor einem Stack-Überlauf verwendet werden kann, unabhängig von der Anzahl der Aufrufe. ___ qstntxt ___

Ich lerne für einen Weihnachtstest und mache ein paar Prüfungsfragen, ich bin auf dieses Problem gestoßen, das mich ein wenig ratlos macht.

Ich kann reguläre Rekursion gut machen, aber ich kann nicht meinen Kopf darum drehen, wie ich dasselbe mit der Schwanzrekursion schreiben kann.

Reguläre Version:

%Vor%     
___

Ich lerne für einen Weihnachtstest und mache ein paar Prüfungsfragen, ich bin auf dieses Problem gestoßen, das mich ein wenig ratlos macht. Ich kann reguläre Rekursion gut machen, aber ich kann nicht meinen Kopf darum drehen, wie ich dass...
01.12.2012, 23:01
1
Antwort

Turm von Hanoi - JavaScript - Die guten Teile [duplizieren]

Ich habe die anderen Fragen zu SO über die Rekursive Funktion gesehen und ich habe die Antworten gelesen, aber ich kann den Algorithmus immer noch nicht in meinen Kopf klicken %Vor% Wie läuft das document.write (...) überhaupt? Meine Logik...
15.08.2011, 01:48
4
Antworten

MySQL - Wiederholung einer Baumstruktur

Ich habe eine Datenbanktabelle, die Standorte miteinander verbindet; Ein Standort kann sich an einem Ort befinden, der sich an einem anderen Ort befinden kann. %Vor% Hier ist die MySQL / PHP für eine Tiefe von eins: %Vor% Wie bekomme ich...
04.03.2010, 11:02
4
Antworten

Erste Algebra für Rosenbäume

Soweit ich weiß, entsprechen rekursive Datentypen von Haskell den ursprünglichen Algebren von Endofunctors aus der Kategorie Hask [ 1 , 2 ]. Zum Beispiel: Natürliche Zahlen, data Nat = Zero | Succ Nat , entsprechen der ursprünglichen A...
26.08.2017, 23:02