Zuhause Persönliche Finanzen Ein Geschmack der Rekursion - Dummies

Ein Geschmack der Rekursion - Dummies

Video: Wissenschaftsdoku - Das Ende des Zufalls - Die Macht der Algorithmen (3SAT2015) 2025

Video: Wissenschaftsdoku - Das Ende des Zufalls - Die Macht der Algorithmen (3SAT2015) 2025
Anonim

Rekursion ist ein großes, beängstigendes Wort, das man oft über das Programmieren hört, besonders über die frustrierende Art von Programmierung, die sie an der Universität unterrichten. Obwohl es ein einfaches Konzept zu beschreiben ist, ist es wirklich ein Denker, wenn es darum geht zu verstehen, wie Rekursion funktioniert. Die meisten Leute akzeptieren es einfach und gehen weiter. Nicht hier!

Rekursion ist im Grunde der Prozess einer Funktion, die sich selbst aufruft. Zum Beispiel:

void funct (int x) {funct (x);}

In diesem Code-Block sehen Sie ein schreckliches Beispiel für eine rekursive Funktion, aber es dient hier der Veranschaulichung: Die Funktion Die Funktion () ruft sich auf. Das ist Rekursion. Was nun in diesem Beispiel passiert, ist im Grunde eine Endlosschleife, und dank eines technischen Etwas, das als Stackpointe r bezeichnet wird, stürzt der Computer schließlich ab. Aber es ist nur eine Illustration.

Für die Rekursion zur Arbeit muss die Funktion wie eine Schleife eine Bailout-Bedingung haben. Daher muss entweder der an die rekursive Funktion übergebene Wert oder sein Rückgabewert getestet werden. Hier ist ein besseres Beispiel für eine rekursive Funktion:

void recursion (int x) {if (x == 0) return; else {puts ("Boop!"); Rekursion (- x);}}

Die Funktion recursion () akzeptiert den Wert x . Wenn x gleich Null ist, bricht die Funktion ab. Andernfalls wird die Funktion erneut aufgerufen, aber der Wert von x wird reduziert. Der Dekrementpräfixoperator wird verwendet, so dass der Wert von x reduziert wird , bevor der Aufruf erfolgt.

Die sample recursion () Funktion spuckt den Text aus Boop! eine bestimmte Anzahl von Malen. Wenn also rekursion () mit dem Wert 10 aufgerufen wird, sehen Sie, dass dieser Text zehn Mal angezeigt wird.

Der wahnsinnige Teil der Rekursion besteht darin, dass sich die Funktion weiterhin selbst nennt, indem sie sich immer enger zusammenzieht, als wäre sie in einer Spirale. Im vorigen Beispiel wickelt die Bedingung x == 1 schließlich das verworrene Durcheinander ab und zieht sich zunehmend zurück, bis die Funktion abgeschlossen ist.

Der folgende Code zeigt ein vollständiges Programm, das die Beispielrekursionsfunktion () verwendet.

#include void rekursion (int x); int main () {Rekursion (10); return (0);} void rekursion (int x) {if (x == 0) return; else {puts ("Boop!"); Rekursion (- x);}}

Eine häufige Demonstration der Rekursion ist eine Fakultätsfunktion. Die Fakultät ist das Ergebnis der Multiplikation eines Wertes mit jeder seiner positiven ganzen Zahlen. Zum Beispiel:

4! = 4 × 3 × 2 × 1

Das Ergebnis dieser Fakultät ist 24. Der Computer kann diese Berechnung auch durchführen, indem er entweder eine Schleife implementiert oder eine rekursive Funktion erstellt.Hier ist eine solche Funktion:

int factorial (int x) {if (x == 1) return (x); else return (x * factorial (x-1));}

Wie bei den anderen rekursiven Funktionen enthält die Funktion factorial () eine Exit-Bedingung: x == 1. Andernfalls wird die Funktion erneut aufgerufen mit einem Wert kleiner als der aktuelle Wert von x . Aber die ganze Aktion findet mit den Rückgabewerten statt.

Ein Geschmack der Rekursion - Dummies

Die Wahl des Herausgebers

Was Sie über den Makler und die Hauptbeziehung für die Immobilienlizenzprüfung wissen sollten - Dummies

Was Sie über den Makler und die Hauptbeziehung für die Immobilienlizenzprüfung wissen sollten - Dummies

Die Elemente der Verantwortung eines Agenten gegenüber dem Auftraggeber werden in einem Wort zusammengefasst - Treuhänder. Die Immobilienlizenzprüfung wird zweifellos Fragen zu diesen Treuhandpflichten stellen. Treuhänder bedeutet treuer Diener, und ein Agent ist der Treuhänder des Auftraggebers. Der Vertreter vertritt getreu die Interessen des Auftraggebers vor allen anderen ...

Erkennen Miller Analogie Test 1: 3, 2: 4 Analogien - Dummies

Erkennen Miller Analogie Test 1: 3, 2: 4 Analogien - Dummies

The Der Miller Analogies Test (MAT) ist ein standardisierter Test, der normalerweise für die Zulassung von Absolventen verwendet wird. Der Test besteht vollständig aus Analogien. Der Miller Analogies Test verwendet mehrere Analogtypen wie 1: 3, 2: 4. Die Erkennung der Art der verwendeten Analogie spielt eine entscheidende Rolle bei der Auswahl der richtigen Antwort für diese Frage. ...

Erkennen Miller Analogie Test 1: 2, 3: 4 Analogien - Dummies

Erkennen Miller Analogie Test 1: 2, 3: 4 Analogien - Dummies

The Der Miller Analogies Test (MAT) ist ein standardisierter Test, der normalerweise für die Zulassung von Absolventen verwendet wird. Der Test besteht vollständig aus Analogien. Der Miller Analogies Test verwendet mehrere Analogtypen wie 1: 2, 3: 4. Die Erkennung der Art der verwendeten Analogie spielt eine entscheidende Rolle bei der Auswahl der richtigen Antwort für diese Frage. ...

Die Wahl des Herausgebers

Excel-Dashboards und -Berichte: So führen Sie Makros aus - Dummies

Excel-Dashboards und -Berichte: So führen Sie Makros aus - Dummies

Makros sind sehr nützlich für Ihre Excel Dashboards und Berichte. Um Ihre Makros in Aktion zu sehen, wählen Sie den Befehl Makros auf der Registerkarte Entwickler. Das in dieser Abbildung gezeigte Dialogfeld wird angezeigt, in dem Sie das Makro auswählen können, das Sie ausführen möchten. Wählen Sie das AddDataBars-Makro aus, und klicken Sie auf die Schaltfläche Ausführen. Wenn alles gut geht, ...

Excel-Dashboards und Berichte: Halten Sie Ihre Pivot-Tabelle frisch - Dummies

Excel-Dashboards und Berichte: Halten Sie Ihre Pivot-Tabelle frisch - Dummies

So langweilig wie Ihre Pivot-Tabellen Wie es scheint, werden sie schließlich zu den Stars Ihrer Excel-Berichte und Dashboards. Es ist daher wichtig, dass Sie Ihre Pivottabellen frisch und relevant halten. Im Laufe der Zeit können sich Ihre Daten mit neu hinzugefügten Zeilen und Spalten ändern und wachsen. Die Aktion der Aktualisierung Ihrer Pivot-Tabelle mit diesen ...

Excel 2010 Für Dummies Cheat Sheet - Dummies

Excel 2010 Für Dummies Cheat Sheet - Dummies

Auf den ersten Blick kann es schwierig sein, die vielen Menüs zu verstehen , Tabulatoren, Spalten und Zeilen der Excel 2010-Benutzeroberfläche. Dieser Cheat Sheet hilft Ihnen jedoch, Ihren Weg zu navigieren, indem Sie Tastenanschläge für die Bewegung des Zellen-Cursors zu einer neuen Zelle zeigen, einfache Regeln für die Dateneingabe-Etikette, häufige Ursachen einiger ...

Die Wahl des Herausgebers

Verwendung von Web Stats zur Verbesserung Ihrer Website - Dummies

Verwendung von Web Stats zur Verbesserung Ihrer Website - Dummies

Leute mögen nicht langsame Webseiten. Die Verwendung von Webstatistiken kann sicherstellen, dass Sie keine haben. Heutzutage werden wir alle durch schnelle Internetverbindungen verwöhnt, und Forschungsergebnisse zeigen, dass Webnutzer auf eine andere Website klicken, wenn Ihre Website mehr als zwei Sekunden benötigt, um sie zu öffnen. Eine schnellere Site behält mehr Besucher. mit einem langsameren ...

Webhost-Systemsteuerungsoptionen - dummies

Webhost-Systemsteuerungsoptionen - dummies

Sie haben mehrere Optionen für Web gehostete Control Panels. Die beliebteste und offensichtlichste Wahl ist cPanel. cPanel ist aufgrund seiner Balance zwischen Flexibilität und Benutzerfreundlichkeit eine gute Wahl für Bedienfelder. Die Wahl des Bedienfelds ist jedoch eine Frage der persönlichen Vorlieben und Sie müssen eines finden, das am besten passt ...

Zehn Essential Online Web Hosting Ressourcen - Dummies

Zehn Essential Online Web Hosting Ressourcen - Dummies

Bücher sind großartige Referenzen, aber es gibt auch einige wirklich gute Web-Hosting-Ressourcen online verfügbar, um Ihnen zusätzliche Informationen zu geben, wenn Sie nicht finden können, was Sie brauchen. Haben Sie keine Angst, das Internet zu überprüfen. ZeltBlogger. com TentBlogger. com ist im Besitz und geschrieben von John Saddington. Es ist wahrscheinlich die beste Online-Ressource für praktisch alles mit ...