Java下的尾递归

尾调用的重要性在于它可以不在调用栈上面添加一个新的堆栈帧——而是更新它,如同迭代一般。

尾递归因而具有两个特征: 调用自身函数(Self-called); 计算仅占用常量栈空间(Stack Space)。

尾递归存在于多种语言.

以下代码实现斐波那契数列

public class Fa {

 public static void main(String[] args) {

        System.out.println(Fibonacci(8, 1, 1));

 }

public static int Fibonacci(int n,int pf,int ps)

{      if(n<=1)     return pf;

      else    return Fibonacci(n-1,ps,pf+ps);

   }

}

你可能感兴趣的:(Java下的尾递归)