在运用递归的时候
我应该怎么想哦
感觉怎么都用不好他
谢谢了哦

解决方案 »

  1.   

    注意递归的结束条件比如求解n的阶乘
    int factorial(int n)
    {
    if(n==1||n==0)
    return 1;
    else
    return n*factorial(n-1);
    }
    这里的结束条件就是n==0或1的时候,但是递归效率极低,强烈建议不要使用
      

  2.   

    套格式:递归函数(参数){
    if(递归结束式)...
    else 递归函数(参数-步长)...
    }for(循控变量初始化;!递归结束式;循控变量-=步长){
    递归函数(循控变量)
    }比较草、只是个意思。
      

  3.   

    wfront(超级无敌de肉粽) 
     要注意一定要留个出口.其它的就要注意一下时间复杂度或空间复杂度,某些算法(比如二叉树的遍历),在规模不大的情况下用递归不但编码方便,而且系统开销不大,但达到一定规模后用递归系统开销就很大了,这时要注意使用非递归的方法了.
     ----------------------------------------------
    说得好,我最近写了一个递归计算滚动投资的算法,结果复杂度随着规模成几何增长。
    计算n个月的循环次数=n!次,到了计算第13次的时候复杂度就已经过亿了。
    所以,前几次还能计算出来,到后来基本上程序就不动了。