您的位置:首页 > 其它

斐波那契数列调用深度学习笔记

2015-04-25 11:35 141 查看

今天研究了下斐波那契数列的调用深度,自己写了个代码测试了下斐波拉契的0-10项,

package ChangeSort;

public class Fi {

static int m=0;

public static void main(String[] args){

for(int i=0;i<=10;i++){

System.out.println("fun("+i+")=: "+fun(i));

System.out.println("m=: "+m);

m=0;

}

}

static int fun(int i){

if(i==0) {

m++;

return 0;

}

if(i==1) {

m++;

return 1;

}

else {

m++;

return fun(i-1)+fun(i-2);

}

}

}

测试结果如下:

fun(0)=: 0

m=: 1

fun(1)=: 1

m=: 1

fun(2)=: 1

m=: 3

fun(3)=: 2

m=: 5

fun(4)=: 3

m=: 9

fun(5)=: 5

m=: 15

fun(6)=: 8

m=: 25

fun(7)=: 13

m=: 41

fun(8)=: 21

m=: 67

fun(9)=: 34

m=: 109

fun(10)=: 55

m=: 177

首先斐波拉契的深度是两个子函数的深度和+1,即f(2)=f(0)+f(1)+1=1+1+1=3; f(n)=f(n-1)+f(n-2)+1

接下来准备研究下斐波拉契数列函数写的优化方案。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: