递归
递归
一个函数可以调用另一个提前定义或声明的函数。
如果函数中出现了调用自身,这种函数我们称之为递归函数。
前置知识
主函数:int main()
系统定义好的函数:sqrt(), min(), max()......
自定义函数:给出n,返回n!的值......
基本思想
通过不断调用自己,把一个复杂问题层层转化为规模更小的相似问题。
什么时候能用递归?
考虑几个问题:
1.是否可以把问题划分为若干个子问题?
2.是否可以以同样的方式去处理各个子问题?
3.如何把各个子问题的处理结果汇总,形成最终的处理结果。
条件
有反复执行的过程(调用自身)
有跳出反复执行过程的条件(递归出口)
步骤
描述递归关系
确定递归出口
写递归函数
并非原创,仅是整理,请见谅
Lo问我为什么看星星。我觉得银河和代码是同一种东西,这也是一种回答。————Co