Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist PHP-Rekursion?

Was ist PHP-Rekursion?

angryTom
angryTomOriginal
2019-08-24 10:55:243176Durchsuche

Was ist PHP-Rekursion?

 Die Programmiertechnik, bei der sich ein Programm selbst aufruft, wird Rekursion genannt . Rekursion als Algorithmus wird häufig in Programmiersprachen verwendet. Ein Prozess oder eine Funktion verfügt in ihrer Definition oder Beschreibung über eine Methode, mit der sie sich selbst direkt oder indirekt aufrufen kann. Sie wandelt normalerweise ein großes und komplexes Problem in ein kleineres Problem um, das dem ursprünglichen Problem ähnelt und nur eine kleine Anzahl von Programmen löst um die mehrfach wiederholten Berechnungen zu beschreiben, die im Problemlösungsprozess erforderlich sind, wodurch die Menge an Programmcode erheblich reduziert wird. Die Kraft der Rekursion liegt darin, unendliche Sammlungen von Objekten mit endlichen Aussagen zu definieren. Im Allgemeinen erfordert die Rekursion Randbedingungen, einen rekursiven Vorwärtsabschnitt und einen rekursiven Rückkehrabschnitt. Wenn die Randbedingungen nicht erfüllt sind, schreitet die Rekursion voran; wenn die Randbedingungen erfüllt sind, kehrt die Rekursion zurück.

Empfohlenes Tutorial: PHP-Video-Tutorial

Rekursion bedeutet, sich während des laufenden Prozesses selbst aufzurufen.

Bedingungen, die für die Darstellung einer Rekursion erforderlich sind:

Beispiel für einen verschachtelten Funktionsaufrufprozess

1. Das Unterproblem muss mit dem Original identisch sein Problem, Und es ist einfacher;

2. Es kann sich nicht unbegrenzt aufrufen, es muss einen Ausgang geben und es kann zur nicht rekursiven Situationsverarbeitung vereinfacht werden.

In der Mathematik und Informatik bezieht sich Rekursion auf eine Klasse von Objekten oder Methoden, die durch einen (oder mehrere) einfache Basisfälle definiert werden, und legt fest, dass alle anderen Fälle auf ihre Basisfälle reduziert werden können.

Das Folgende ist beispielsweise die rekursive Definition des Vorfahren einer Person:

Die Eltern einer Person sind ihre Vorfahren (Basisfall). Die Eltern eines Vorfahren sind auch die Vorfahren einer anderen Person (rekursiver Schritt). Die Fibonacci-Folge, auch als Goldene-Schnitt-Folge bekannt, bezieht sich auf eine solche Folge: 1, 1, 2, 3, 5, 8, 13, 21 .... I [1]

Die Die Fibonacci-Folge ist ein typischer rekursiver Fall:

Die rekursive Beziehung liegt vor, wenn die Entität eine Beziehung zu sich selbst aufbaut.

 Fib(0) = 1 [Basisfall] Fib(1) = 1 [Basisfall] Für alle ganzen Zahlen n > 1: Fib(n) = (Fib(n-1) + Fib( n- 2)) [Rekursive Definition] Obwohl viele mathematische Funktionen rekursiv ausgedrückt werden können, ist der hohe Aufwand der rekursiven Definition in praktischen Anwendungen oft unerschwinglich. Zum Beispiel:

Faktorial (1) = 1 [Grundfall] Für alle ganzen Zahlen n > 1: Faktorial (n) = (n * Faktorial (n-1)) [Rekursive Definition] Eine leicht verständliche Definition Das mentale Modell besteht darin, dass rekursive Definitionen Objekte anhand „zuvor definierter“ Objekte desselben Typs definieren. Zum Beispiel: Wie kann man 100 Kartons bewegen? Antwort: Sie verschieben zunächst eine Kiste und notieren, wohin sie verschoben wird. Anschließend wenden Sie sich dem kleineren Problem zu: Wie können Sie 99 Kisten verschieben? Irgendwann besteht Ihr Problem darin, wie man eine Kiste bewegt, und Sie wissen bereits, wie das geht.

Eine solche Definition ist in der Mathematik sehr verbreitet. Die formale Definition natürlicher Zahlen in der Mengenlehre lautet beispielsweise: 1 ist eine natürliche Zahl, und jede natürliche Zahl hat einen Nachfolger, der ebenfalls eine natürliche Zahl ist.

Droste-Effekt

Der Droste-Effekt ist eine visuelle Form der Rekursion. Unter den Gegenständen, die die Frau hält, befindet sich ein kleines Bild von ihr selbst, wie sie denselben Gegenstand hält, und dann gibt es ein noch kleineres Bild von ihr, wie sie denselben Gegenstand hält, und so weiter.

Ein weiteres Beispiel: Wenn wir eine brennende Kerze zwischen zwei gegenüberliegenden Spiegeln platzieren, sehen wir eine Kerze in einem der Spiegel, und hinter der Kerze befindet sich ein Spiegel, und im Spiegel befindet sich eine weitere Kerze ...das ist auch eine Manifestation der Rekursion.

Einfache Anwendung

function loop(){
 static $i = 0;
 echo $i.' ';
 $i++;
 if($i<10){
     loop();
 }
}
loop();//输出 0 1 2 3 4 5 6 7 8 9

Das obige ist der detaillierte Inhalt vonWas ist PHP-Rekursion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist eine PHP-Erweiterung?Nächster Artikel:Was ist eine PHP-Erweiterung?