美文网首页
怎么理解递归函数

怎么理解递归函数

作者: 蜡笔小狗 | 来源:发表于2017-07-29 21:34 被阅读0次

    可参考:http://blog.csdn.net/vagrxie/article/details/8470798

    有如下函数,计算阶乘

    function factorial(num){
      if(num<=1){
        return 1;
      }else{
        return num*factorial(num-1);
      }  
    }
    

    我们怎么判断这个阶乘的递归计算是否是正确的呢? 先别说测试, 我说我们读代码的时候怎么判断呢?回溯的思考方式是这么验证的, 比如当n = 4时, 那么factorial(4)等于4 * factorial(3), 而factorial(3)等于3 * factorial(2), factorial(2)等于2 * factorial(1), 等于2 * 1, 所以factorial(4)等于4 * 3 * 2 * 1. 这个结果正好等于阶乘4的迭代定义.

    相关文章

      网友评论

          本文标题:怎么理解递归函数

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