Was ist rekursiv?

Bei der Computerprogrammierung beschreibt der Begriff rekursiv eine Funktion oder Methode, die wiederholt einen kleineren Teil von sich selbst berechnet, um zum Endergebnis zu gelangen. Sie ähnelt der Iteration, aber anstatt eine Reihe von Operationen zu wiederholen, führt eine rekursive Funktion eine Wiederholung durch, indem sie sich in ihrer eigenen Definition auf sich selbst bezieht. Während das Konzept der rekursiven Programmierung anfangs schwer zu verstehen ist, kann es sehr nützlich sein, es zu beherrschen. Rekursion ist eines der grundlegenden Werkzeuge der Informatik.

Ein klassisches Beispiel ist die rekursive Methode zur Berechnung der Fakultät einer Zahl. Die Fakultät einer ganzen Zahl n, die als n geschrieben wird! ist das Ergebnis der Multiplikation von n mit allen positiven ganzen Zahlen, die kleiner als n sind. Zum Beispiel 3! = 3 x 2 x 1, was 6 und 4 ergibt! = 4 x 3 x 2 x 1, was 24 ergibt. Eine effiziente Methode zur Berechnung einer Fakultät ist die Verwendung einer rekursiven Funktion.

Nachfolgend finden Sie ein Beispiel für eine rekursive faktorielle Funktion, die in JavaScript geschrieben ist.

Funktionsfaktor (n) {

return (n === 0)? 1: n * Fakultät (n-1);

}

Wie Sie sehen können, ist ein Teil der Definition der Funktion Fakultät das Ergebnis der Fakultät, die für eine kleinere Ganzzahl ausgeführt wird. Wenn Sie sich selbst anrufen, kann sie die Zahl mit jeder positiven Zahl multiplizieren und dann das Endergebnis zurückgeben. Rekursive Funktionen können bei anderen Berechnungen hilfreich sein, z. B. bei der Berechnung der Fibonacci-Zahlen oder des größten gemeinsamen Divisors.

Die Verwendung rekursiver Logik kann einige Nachteile mit sich bringen, einschließlich der Erstellung einer Endlosschleife bei der Programmierung. Wenn Sie sicherstellen, dass in der Programmierung eine Escape-Bedingung (z. B. do bis) vorhanden ist, können Sie die Wahrscheinlichkeit einer Endlosschleife verringern oder sogar beseitigen. Wenn eine Endlosschleife auftritt, kann dies dazu führen, dass das Programm viel Speicherplatz auf einem Computer belegt und das Programm, das Betriebssystem oder der Computer möglicherweise nicht mehr funktioniert.

Flucht, Funktion, Schleife, Programmierbegriffe