这是我要计算基本斐波那契代码的递归调用的费用。我已经有了它,所以值将以列格式打印出来,但是我不知道如何更新recCounter。我想我必须添加recCounter ++;我不知道在哪里
public static int recursionFibonacci(int n) {
recCounter = 1;
return fibonacci1(n);
}
public static int fibonacci1(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci1(n-1) + fibonacci1(n-2);
}
}
最佳答案
每次调用该函数时,都应增加计数器:
public static int fibonacci1(int n) {
recCounter++; // <<-- here
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci1(n-1) + fibonacci1(n-2);
}
}