函数的递归
Posted linbin7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数的递归相关的知识,希望对你有一定的参考价值。
函数的递归调用
#递归调用是函数嵌套调用的一种特殊形式,函数在调用时,直接或间接调用了自身,就是递归调用
修改递归最大深度
函数递归调用,在调用一个函数的过程中又直接或间接地调用了自己称之为函数的递归调用
本质就是一个重复的过程,必须有两个明确的阶段
#1、回溯:一层一层地递归调用下去,每次进入下一层问题的规模都应该有所减少
#2、递推:递归必须要有一个明确的结束条件,在满足该条件的情况下会终止递归,往回一层一层地结束调用
递归vs while循环
递归只需要把控住结束或进入递归的条件即可,至于
循环次数或者嵌套的层数无需考虑
#总结递归的使用:
1. 必须有一个明确的结束条件
2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,
每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
以上是关于函数的递归的主要内容,如果未能解决你的问题,请参考以下文章