Als «recursion» getaggte Fragen

Fragen zu Objekten wie Funktionen, Algorithmen oder Datenstrukturen, die mit "kleineren" Instanzen von sich selbst ausgedrückt werden.

4
Was ist Schwanzrekursion?
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 …

5
Iteration kann Rekursion ersetzen?
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 …


6
Was ist für GCD am effizientesten?
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 …


3
Warum sind Schleifen schneller als Rekursion?
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?


2
Wird dieses Programm für jede Ganzzahl beendet?
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 …

2
Welche Eigenschaft der Nachteile ermöglicht die Eliminierung der modulo Nachteile der Schwanzrekursion?
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 …

3
Kann ein Baum ohne Rekursion, Stapel oder Warteschlange und nur mit einer Handvoll Zeigern überquert werden?
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 …

6
Beispiele für ausgefeilte rekursive Algorithmen
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 …

1
Ist dies eine generische Methode, um eine rekursive Prozedur in eine Schwanzrekursion umzuwandeln?
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 …



3
Haben "induktiv" und "rekursiv" sehr ähnliche Bedeutungen?
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 …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.