public static void main(String[] args){
long start = System.currentTimeMillis();
System.out.println(new Fib().calFib(40));
long end = System.currentTimeMillis();
System.out.println("Dynamic Programming :" + (end - start) +" million seconds");
start = System.currentTimeMillis();
System.out.println(new Fib().recurFib(40));
end = System.currentTimeMillis();
System.out.println("Recurrence :" + (float)(end - start) +" million seconds");
}
int calFib(int toNumber){
int[] value = new int[100];
value[1] = 1;
for(int i = 1; i <= toNumber ; i++){
value[i+1] = value[i] + value[i-1];
}
return value[toNumber];
}
int recurFib(int toNumber){
if(toNumber == 0){
return 0;
}else if(toNumber == 1){
return 1;
}else{
toNumber -= 1;
return recurFib(toNumber)+recurFib(toNumber-1);
}
}
網頁
BloggerAds 廣告
標籤
- Java (96)
- Android (27)
- 演算法 (21)
- c++ (19)
- JavaScript (7)
- OpenMp (6)
- Design Pattern (4)
- 日文歌曲 (4)
- 資料結構 (4)
- Foundation Knowledge Of Programming (3)
- QUT (2)
- CodingHomeWork (1)
- Database (1)
- 英文歌詞 (1)
搜尋此網誌
2015年2月6日 星期五
用動態規劃演算法計算費波南西數列
動態規劃比遞迴寫法快好多.
訂閱:
張貼留言 (Atom)
我的網誌清單
標籤
日文歌曲
(4)
股市
(7)
股票
(9)
英文歌詞
(1)
時事
(1)
硬體(hardware)
(1)
資料結構
(4)
演算法
(21)
數學(Math)
(4)
ACM
(3)
ajax
(7)
algorithms
(1)
Android
(27)
Blog Notes(部落格記事)
(6)
C
(9)
c++
(19)
CodingHomeWork
(1)
Database
(1)
Design Pattern
(4)
Foundation Knowledge Of Programming
(3)
GWT
(1)
How
(2)
J2EE
(1)
Java
(96)
Java語言
(4)
JavaScript
(7)
Leetcode
(4)
LOL
(1)
OpenMp
(6)
QUT
(2)
Uva
(2)
Yahoo知識問答
(11)
沒有留言:
張貼留言