Fibonacci number是這樣的數(shù)列:
f(0) = 0, f(1) = 1,
f(n) = f(n-1) + f(n-2) (n 》=2)
下面給出幾種求解方法
1) 使用函數(shù)遞歸方法。
這個(gè)是最容易想到的方法
但是這個(gè)比較花時(shí)間,因?yàn)橛泻芏嘀貜?fù)計(jì)算(重復(fù)的函數(shù)調(diào)用)。
在我的電腦上,計(jì)算f(45)的值,用了10.256秒的時(shí)間。
2) 把計(jì)算的中間結(jié)果保存下來,避免重復(fù)計(jì)算。
用這種方法計(jì)算f(45),僅僅用了 0.000017秒的時(shí)間, 時(shí)間降低了百萬倍!
3) 第二種方法,使用了較多的內(nèi)存保存中間結(jié)果。還可以進(jìn)一步減少內(nèi)存的使用。
所需時(shí)間和 2)差不多。
4)不使用函數(shù)遞歸,使用迭代的方法
5)
6)
-
算法
+關(guān)注
關(guān)注
23文章
4698瀏覽量
94734 -
C語言
+關(guān)注
關(guān)注
180文章
7630瀏覽量
140327
發(fā)布評(píng)論請(qǐng)先 登錄
10個(gè)經(jīng)典的C語言面試基礎(chǔ)算法及代碼
關(guān)于六個(gè)自由度座椅的控制
六個(gè)帶有WiFi模塊的單片機(jī)跟一個(gè)配置為AP模式的單片機(jī)通信,六個(gè)之間并不通信
10個(gè)經(jīng)典的C語言面試基礎(chǔ)算法及代碼
關(guān)于10大C語言基礎(chǔ)算法
sd可以實(shí)現(xiàn)六個(gè)面對(duì)應(yīng)六個(gè)不同文件夾sd音樂嗎?
六個(gè)子目錄的作用
六個(gè)有關(guān)RoHS的檢測方法標(biāo)準(zhǔn)
PCB設(shè)計(jì)的六個(gè)檢查階段
PROTEL DXP的六個(gè)實(shí)驗(yàn)指導(dǎo)教程

汽車電源設(shè)計(jì)的六個(gè)基本原則

評(píng)論