Ich kenne das allgemeine Konzept der Rekursion. Beim Studium des Quicksort-Algorithmus bin ich auf das Konzept der Schwanzrekursion gestoßen. In diesem Video von Quick Sort Algorithmus vom MIT um 18:30 Sekunden sagt der Professor, dass dies ein rekursiver Schwanzalgorithmus ist. Mir ist nicht klar, was Schwanzrekursion wirklich bedeutet. Kann jemand …
Ich habe da im ganzen Stack - Überlauf, zB hier , hier , hier , hier , hier und einige andere , die ich interessiere mich nicht zu erwähnen, dass „jedes Programm , das Verwendung Rekursion in ein Programm umgewandelt werden kann unter Verwendung von Iteration nur“. Es gab sogar …
Wann gibt es einige (relativ) grundlegende Fälle (denken Sie an CS-Studenten im ersten Studienjahr), in denen man anstelle einer Schleife eine Rekursion verwenden würde?
Ich weiß, dass der Algorithmus von Euclid der beste Algorithmus ist, um den GCD (Great Common Divisor) einer Liste positiver Ganzzahlen zu erhalten. In der Praxis können Sie diesen Algorithmus jedoch auf verschiedene Arten codieren. (In meinem Fall habe ich mich für Java entschieden, aber C / C ++ könnte …
Stellen Sie sich einen induktiven Typ vor, der an einer verschachtelten, aber streng positiven Position einige rekursive Vorkommen aufweist. Zum Beispiel Bäume mit endlicher Verzweigung mit Knoten, die eine generische Listendatenstruktur zum Speichern der Kinder verwenden. Inductive LTree : Set := Node : list LTree -> LTree. Die naive Art, …
In der Praxis verstehe ich, dass jede Rekursion als Schleife geschrieben werden kann (und umgekehrt (?)), Und wenn wir mit tatsächlichen Computern messen, stellen wir fest, dass Schleifen für dasselbe Problem schneller sind als Rekursion. Aber gibt es eine Theorie, die diesen Unterschied ausmacht, oder ist sie hauptsächlich emprisch?
Der Y-Kombinator hat den Typ . Nach der Curry-Howard-Entsprechung muss der Typ einem wahren Theorem entsprechen, da er bewohnt ist. Jedoch ist immer wahr, so dass es so aussieht, als ob der Typ des Y-Kombinators dem Satz , was nicht immer wahr ist. Wie kann das sein?( a → a …
In einem Teiltest für die GATE-Vorbereitung gab es eine Frage: f(n): if n is even: f(n) = n/2 else f(n) = f(f(n-1)) Ich antwortete "Es wird für alle Ganzzahlen beendet", da es selbst für einige negative Ganzzahlen als Stapelüberlauffehler beendet wird . Aber mein Freund widersprach der Aussage, dass es …
Ich bin mit der Idee der grundlegenden Beseitigung der Schwanzrekursion vertraut , bei der Funktionen, die das direkte Ergebnis eines Aufrufs an sich selbst zurückgeben, als iterative Schleifen umgeschrieben werden können. foo(...): # ... return foo(...) Ich verstehe auch, dass die Funktion als Sonderfall immer noch umgeschrieben werden kann, wenn …
Vor einem halben Jahrzehnt saß ich in einer Klasse für Datenstrukturen, in der der Professor zusätzliche Anrechnungspunkte anbot, wenn jemand einen Baum ohne Verwendung von Rekursion, Stapel, Warteschlange usw. (oder einer ähnlichen Datenstruktur) und nur ein paar Zeigern durchqueren konnte. Ich fand eine aus meiner Sicht offensichtliche Antwort auf diese …
Ich habe einem Freund den berühmten deterministischen linearen Zeitauswahlalgorithmus (Median des Medianalgorithmus) erklärt. Die Rekursion in diesem Algorithmus ist (obwohl sehr einfach) ziemlich ausgefeilt. Es gibt zwei rekursive Aufrufe mit jeweils unterschiedlichen Parametern. Ich habe versucht, andere Beispiele für solche interessanten rekursiven Algorithmen zu finden, konnte aber keine finden. Alle …
Es scheint , dass ich einen generellen Weg gefunden zu konvertieren jede rekursive Prozedur bis zum Schwanz-Rekursion: Definieren Sie eine Hilfsteilprozedur mit einem zusätzlichen "Ergebnis" -Parameter. Wenden Sie auf diesen Parameter an, was auf den Rückgabewert der Prozedur angewendet wird. Rufen Sie diese Hilfsprozedur auf, um loszulegen. Der Anfangswert für …
Verwenden des folgenden rekursiven Fibonacci-Algorithmus: def fib(n): if n==0: return 0 elif n==1 return 1 return (fib(n-1)+fib(n-2)) Wenn ich die Zahl 5 eingebe, um fib (5) zu finden, weiß ich, dass dies 5 ausgibt, aber wie überprüfe ich die Komplexität dieses Algorithmus? Wie berechne ich die Schritte?
Kürzlich bin ich auf dieses Problem gestoßen , eine Variation von Türmen von Hanoi . Problemstellung: Betrachten Sie die folgende Variation des bekannten Problems Towers of Hanoi: Wir erhalten Türme und m Scheiben der Größen 1 , 2 , 3 , … , m, die auf einigen Türmen gestapelt sind. …
Bedeuten "induktiv" und "rekursiv" sehr ähnlich? Wenn es beispielsweise einen Algorithmus gibt, der einen n-dim-Vektor durch Bestimmen seiner ersten k + 1-Komponenten auf der Grundlage seiner ersten k-Komponenten bestimmt und mit der ersten Komponente initialisiert wird, würden Sie ihn als rekursiv oder induktiv bezeichnen? Ich habe "rekursiv" verwendet, aber heute …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.