私はまだ再帰の周りに自分の心をラッピングしており、私は階乗のような基本的なものを得ると思います。フィボナッチは、(N-1)完全にダウン行く前に、通じ再発ん、return文で複数の返信を伴う再帰の混乱
/**
* @param n >= 0
* @return the nth Fibonacci number
*/
public static int fibonacci(int n) {
if (n == 0 || n == 1) {
return 1; // base cases
} else {
return fibonacci(n-1) + fibonacci(n-2); // recursive step
}
}
:return文は、もう少し複雑なように次のコードであるときしかし、私はさらに明確化したいと思いますフィボナッチ(n-2)ステップ(それは理にかなっていますか?)もしそうなら、これは想像するのが非常に難しいようです。
想像するのが難しい場合は、デバッガでコードをステップ実行してください。それはあなたに何が起こっているかを正確に示します。 – tadman
上記はシングルスレッドであると仮定して、はい。 –
'' fibonacci(n-1)+ fibonacci(n-2);の順序は指定されていないか、どちらかが最初に実行されます – CoryKramer