劍指offer 面試題9 菲波那切數列

2021-08-10 08:50:41 字數 631 閱讀 9427

題目描述:大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。n<=39

**:[cpp]view plain

copy

class

solution   

return

nn;   

}  };  

分析:由於前幾天我做過**青蛙跳的題目,所以,很直接很輕鬆地就寫下了這個**,很簡單,並且,和《劍指offer》上的推薦解法一致。

[cpp]view plain

copy

intfibonacci(

intn)    

但是,這樣做,效率非常低下。為什麼呢?以求 f(10) 為例子,要想求 f(10),就要求 f(8)和f(9),要求 f(9),就要求 f(8)和f(7),我們可以用樹形結構來表示這種關係。

我們可以發現,這棵樹中很多結點都是重複的,而且重複的結點數,會隨著 n 的增大而急劇增大。事實上,用遞迴方法計算時間複雜度是以 n 的指數方式遞增的。

劍指Offer 面試題9 斐波那契數列

題目 寫乙個函式,輸入n,求斐波那契數列的第n項 解法一 剛進大一的時候,學習c語言,斐波那契數列是經常用於展示遞迴的經典例子.但是從時間複雜度角度來說的話,採用尾遞迴這並不是乙個優秀的演算法.public void fibonacci int n if n 1 return finonacci n...

劍指offer 面試題 9 斐波那契數列

題目 寫乙個函式,輸入 n,求斐波那契數列的第 n 項。斐波那契數列是乙個很出名的數列,它的特點是從第三項開始,每項都等於前兩項之和。對於它的實現有多重方法,有優有劣,直接看 吧 package swordoffer 面試題 9 斐波那契數列 題目 寫乙個函式,輸入 n,求斐波那契數列的第 n 項。...

劍指offer 面試題9 斐波那契數列

題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。n 39 方法一 簡單的動態規劃的思想。方法二 公式法,時間複雜度log n 略。遞迴效能太差就不用寫了。class solution return b 題目描述 青蛙跳台階 乙隻青蛙一次可以跳上1級台階,也可以...