Normal
Die naive rekursive Definition ist in diesem Fall einfach die direkte Umsetzung der mathematischen Definition: Für die ersten beiden Folgeglieder sind feste Werte vorgegeben, für alle weiteren Werte muss man zur Berechnung auf das letzte und vorletzte Folgeglied zurückgreifen:[code=Java]public static long fib(int n) { if(n == 0) { return 0; } else if (n == 1) { return 1; } else { return fib(n-1) + fib(n-2); //der rekursive Aufruf }}[/code]Dich verwirren wahrscheinlich ausgefeiltere Implementierungen, denn die oben genannte ist furchtbar ineffektiv, weil für höhere Folgeglieder enorm viele frühere Glieder mehrfach berechnet werden müssen.
Die naive rekursive Definition ist in diesem Fall einfach die direkte Umsetzung der mathematischen Definition: Für die ersten beiden Folgeglieder sind feste Werte vorgegeben, für alle weiteren Werte muss man zur Berechnung auf das letzte und vorletzte Folgeglied zurückgreifen:
[code=Java]
public static long fib(int n) {
if(n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fib(n-1) + fib(n-2); //der rekursive Aufruf
}
[/code]
Dich verwirren wahrscheinlich ausgefeiltere Implementierungen, denn die oben genannte ist furchtbar ineffektiv, weil für höhere Folgeglieder enorm viele frühere Glieder mehrfach berechnet werden müssen.