欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 7、递归

7、递归

2026/5/27 12:17:51 来源:https://blog.csdn.net/2301_80300263/article/details/144177402  浏览:    关键词:7、递归

一、概念/理解

递归:某个函数直接或者间接的调用自身。--->函数调用

函数调用:创建副本

递归函数:直接或者间接调用自身的函数叫 递归函数:

边界条件/递归出口:递归调用的终止条件。避免出现死循环或者爆栈的情况。//报错显示:TLE(超时) MLE(空间超限)--->找不全

返回到副本4里面的A()里继续执行下面的语句(如果有的话),执行完后再返回到副本3依次执行它A()下面的语句,依次返回。

递归体:

二、看懂递归代码

不清楚的话就画:递归调用图(上面的图就是)

三、写递归函数:

(1)搞清楚一次递归之后的结果是啥。

(2)写代码的时候不用往调用的深层次去想,直接把调用自身的语句当最终结果来看待

四、什么时候需要写递归:

想实现的大问题:可以被拆成一个一个有规律的小问题,并且原问题和这些小问题的解决逻辑f(x)是一样的。

例如:求1+2+3+...+(n-1)+n=?

把它换成求(a代表前面的加合)a+n=

a=1+2+3+...+(n-2)+(n-1)

a1+n-1

a1=1+2+3+...+(n-2)

//

1.是否真的需要递归:

刷算法题用的多-->使代码简洁且不会引发太大问题

工程开发很少用或禁止==>容易出现爆栈的情况,使服务器瘫痪

递归的代码:都有非递归的方式

可以用栈来变成非递归的方式

2.对递归优化:尾递归(上层调用下层的时候把上层覆盖)--->编译器(支持/不支持 不支持不行)

代码层面:递归调用的语句要在最后。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词