递归

来源:互联网 发布:计算机三大圣经知乎 编辑:程序博客网 时间:2024/06/06 06:34
递归

递归的本质为函数内部在适当的时候调用自身

递归条件:

1.遵循一定的规律

2.有一个结束递归的条件

递归本质过程:< 类似嵌套函数的调用,所不同的是f(1)、f(2)、f(3)、f(4)代码相同 >
函数f(1)调用函数f(2)
函数f(2)调用函数f(3)
函数f(3)调用函数f(4)

当f(4)不满足条件<即遇到结束递归的条件>
f(4)函数结束,执行f(3)函数未结束的内容
f(3)函数结束,执行f(2)函数未结束的内容
f(2)函数结束,执行f(1)函数未结束的内容
f(1)函数结束



递归效率:每次递归调用都拥有自己的变量集合.占用内存多.





先计算 n! =  n*(n-1)!
          (n-1)! = (n-1) * (n-2)!
          (n-2)! =(n-2) * (n-3)!
                     .........
规律: <  arc = n * f(n-1)  >
条件: < n > 0 >



求解n!



C中递归函数必然会使用判断语句

递归函数在需要编写时定义函数的出口,否则栈会溢出

递归函数是一种分而治之的思想


0 0
原创粉丝点击