递归的优点和缺陷

简单写一个“打印从1到N的全部正整数”,尝试用递归把程序跑崩,N=1000尚可,N=10000就绷不住了,如下图。而用for循环实现N=1000000都能正常打印。
在这里插入图片描述递归虽然写出的代码简洁,比循环更容易理解,但是有点为难机器了。递归是用栈机制实现的,每深入一层,都要占用一块栈数据区域,对于嵌套层数深的算法,对内存的空间要求很大;递归也需要大量调用函数,这也带来了大量额外的时间开销。

所以,对于深度大的算法,相比于递归,循环不管从哪方面而言,似乎都是更好的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值