1. 程式人生 > >java斐波那契數列(Fibonacci sequence)的三種方式:遞迴,備忘錄,動態規劃

java斐波那契數列(Fibonacci sequence)的三種方式:遞迴,備忘錄,動態規劃

java斐波那契數列(Fibonacci sequence)的三種方式:遞迴,備忘錄,動態規劃

1.最常使用的是遞迴,就是從上往下尋找答案,然後在返回來。

2.備忘錄也是從上往下,只是去掉了遞迴中重複計算的部分,因為它使用一個容器來裝已經計算出的值,這裡就多一個判斷,如果計算過該式子,就直接取結果,如果沒計算過才計算出來。

3.動態規劃就是從下往上依次算出結果。

這個從下往上和從上往下解釋如下:(我拿遞迴和動態規劃來說明這個順序問題)

例如:

f(4)=f(2)+f(3);

f(3)=f(1)+f(2);

f(2)=1;

f(1)=1;

求解f(4)

如果我們順序直接就是從f(4)開始往下一步一步求解到f(1)(再從f(1)往回計算出來f(4)),就是遞迴

如果我們順序直接就是從f(1)開始往上一步一步求解到f(4),就是從下往上,就是動態規劃

 

 

1.遞迴:

2.備忘錄

3.動態規劃: