php 兩種方式實現求 斐波那契數
阿新 • • 發佈:2018-05-03
機器 XP 方式 一個 urn 性能 耗時 exec [1]
- 使用遞歸方式。
//使用遞歸方式求斐波那契數 public function fb($n){ // if( $n <=2){ return 1; }else{ return fb($n-1) + fb($n-2); } }
- 使用遞推方式。
//使用遞推方式求斐波那契數 public function fb2($n){ // if( $n <=2){ return 1; } $t1
最後,進行性能分析。
明顯的可以預測,遞歸方法,每多一層,就要向下遞歸兩次。 約為 O(2 的N次方) 而遞推算法為 O(n),實測代碼如下。/**性能調整。*/ function bench_profile($starttime , $flag = ‘‘){
使用遞歸算法,到求第100 個斐波那契數 時會卡到機器跑不動,而使用遞推算法,幾乎不費時間。
php 兩種方式實現求 斐波那契數