Was bedeutet iterativ / rekursiv?

Der Begriff iterativ wird bei Algorithmen verwendet, die zum Finden einer Lösung unter Verwendung von bereits berechneten Zwischenergebnissen wiederholt die gleiche Prozedur ausführen. Beispiele für solche Algorithmen: Newtonverfahren, Primzahlsuche, …

Die Idee eines rekursiven Verfahrens wurde in dieser FAQ in folgendem Beitrag erläutert.

Im folgenden Sourcecode ist ein Vergleich zwischen rekursiver und iterativer Implementierung der Fakultätsfunktion \(n! = 1*2* … *n\) dargestellt.

static double factIterativ(int n) {
    double result = 1.0;
    for (int i = 1; i <= n; i++) {
        result *= i;
    }
    return result;
}

static double factRekursiv(int n) {
    if (n > 1) {
        return n * factRekursiv(n - 1);
    } else {
        return 1;
    }
}