美文网首页
递归&尾递归

递归&尾递归

作者: 老猫_2017 | 来源:发表于2020-01-17 10:24 被阅读0次

    调用栈的特点,先进后出, FILO, 场景还原。

    1. 递归 有栈溢出的可能 stack overflow
    public fab(int n) {
      if (n == 0) return 1;
      return n * fab(n - 1);
    }
    
    1. 尾递归 编译器进行了优化,优化为循环,不会溢出
    public fab(int n , int result = 1) {
      if (n == 0) return 1;
      return fab(n - 1, result * n);
    }
    

    尾递归的优化原理:尾调用优化

    相关文章

      网友评论

          本文标题:递归&尾递归

          本文链接:https://www.haomeiwen.com/subject/gwlczctx.html