我试图寻找关于尾递归的例子,但实在看不出常规递归与尾递归之间的区别。如果这不是尾递归,请问有人能告诉我为什么不是吗?
public static long fib(long index) {
// assume index >= 0
if (index == 0) // Base case
return 0;
else
if (index == 1) // Base case
return 1;
else
// Reduction and recursive calls
return fib(index - 1) + fib(index - 2);
} // end of method fib(long index)
fib(15, 1, 0)
。希望您不要尝试为大数字计算该函数,因为斐波那契数列增长非常快,long
类型将无法容纳该值。 - Óscar López