Mein Problem ist, dass ich die Rekursion bei den Fibonacci Zahlen nicht verstehe. Also der Code wäre ja:
Jetzt verstehe ich aber nicht, wie der Computer rechnet. Die sechste Fibonacci Zahl ist 8. Doch eigentlich müsste der Computer ja 5+4 rechnen und sich dann immer neu aufrufen. Also: 7+6+6+5+5+4+4+3+3+2+2+1+1+0. Also insgesamt: 49. Trotzdem kommt als Ergebnis 8 heraus. Wie rechnet der PC das? Wo ist mein Denkfehler? Und steigt der PC nach dem Return wieder am Anfang der Methode ein, oder an der selben Stelle, an der er auch ausgestiegen ist?
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);
}
}