更高效的Fibonacci求解

2022-04-03 18:53:34 字數 520 閱讀 8972

兩種思想三種方式實現斐波那序列求解,一種是傳統遞迴的思想,一種是動態規劃的思想,動態規劃又分為top-down和bottom-up兩種方式。

// fast_fibonacci.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include #include //support for clock()

using namespace std;

int fib1(int n)//傳統遞迴方式實現--有每次重複計算值的缺點

int f[10] = ;//暫存陣列(每位均初始為0),用來判斷f[n]是否已定義過

int fib2(int n)//動態規劃思想--高效的top-down方法--記憶化,不重複計算值

int fib3(int n)//用動態規劃的思想求解--bottom up方法

int main()

動態規劃是個好東西也是個難點。是個非常重要的演算法,需要好好學習。

更高效的Fibonacci求解

兩種思想三種方式實現斐波那序列求解,一種是傳統遞迴的思想,一種是動態規劃的思想,動態規劃又分為top down和bottom up兩種方式。fast fibonacci.cpp 定義控制台應用程式的入口點。include stdafx.h include include support for cl...

Fibonacci數列求解

問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,包含乙個整數,表示fn除以10007的餘數。說明 在本題中,答案是要求fn除以10...

如何更高效的學習

針對學習,不同的人的認知能力是有差距的,不同的學科也會呈現不同的特點,所以我們要具體問題具體分析。但下面這些基本原則和方法,我認為是很有參考價值的,故總結如下,希望能給讀者帶來啟發和幫助。三大核心原則 1.關聯 人類的認識本質是乙個概念迭代的過程,即用已有知識去認知未知物件,當兩者可以找到關聯時,就...