我们可以使用循环语句来替代上一篇文章中的递归:
>>>L = [1,2,3,4,5]
>>>sum = 0
>>>while L:
... sum += L[0]
... L = L[1:]
...
>>>sum
15
使用for循环更是可以为我们自动迭代:
>>>L = [1,2,3,4,5]
>>>sum = 0
>>>for x in L: sum += x
...
>>>sum
15
如果用循环语句取代递归,我们就不需要在调用堆栈上针对每次迭代都有一个本地作用域的副本,并且,我们还避免了一般会与函数调用相关的速度成本。所以循环语句更加节约空间也更加快。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
堆栈
+关注
关注
0文章
182浏览量
19717 -
递归
+关注
关注
0文章
28浏览量
9003 -
python
+关注
关注
55文章
4776浏览量
84392 -
循环语句
+关注
关注
0文章
9浏览量
4854
发布评论请先 登录
相关推荐
《C Primer Plus》读书笔记——递归
)递归递归函数中,位于递归调用前的语句和各级被调函数具有相同执行顺序递归函数中,位于递归调用后的语句和各级被调函数具有相反执行顺序每级
发表于 02-05 20:06
可编程控制器属于人工智能吗?(转)
人工智能与传统编程并没有太多差异,唯一的差异是需要大量数据和算力来进行模型拟合!AI=大数据(算料数据)+算法(深度学习、基于规则、基于知识、基于统计等等大多是递归循环结构)+算力(算力非常高
发表于 11-07 05:26
在Python中什么情况必须使用递归
在前面的文章中,我们说到了可以使用循环语句来替代递归。但是,有时候必须使用递归,或者说使用递归才是更方便的解决方案。
考虑像下面这样的一个任务:计算一个嵌套的子列表结构中所有数字
Python支持递归函数
Python支持递归函数——即直接或间接地调用自身以进行循环的函数。递归是颇为高级的话题,并且它在Python中相对少见。然而,它是一项应该了解的有用的技术,因为它允许程序遍历拥有任意的、不可预知的形状的结构。
常见的PLC系统BUG有哪些?
PLC系统中的内存溢出问题可能导致程序崩溃或系统不稳定。为了减少内存溢出问题,合理使用内存资源,避免无限递归、循环或过度使用变量和数据结构。
发表于 11-15 09:59
•545次阅读
循环神经网络和递归神经网络的区别
循环神经网络(Recurrent Neural Network,简称RNN)和递归神经网络(Recursive Neural Network,简称RvNN)是深度学习中两种重要的神经网络结构。它们在
递归神经网络是循环神经网络吗
递归神经网络(Recurrent Neural Network,简称RNN)和循环神经网络(Recurrent Neural Network,简称RNN)实际上是同一个概念,只是不同的翻译方式
递归神经网络与循环神经网络一样吗
递归神经网络(Recursive Neural Network,RvNN)和循环神经网络(Recurrent Neural Network,RNN)是两种不同类型的神经网络结构,它们在处理序列数据
rnn是递归神经网络还是循环神经网络
RNN(Recurrent Neural Network)是循环神经网络,而非递归神经网络。循环神经网络是一种具有时间序列特性的神经网络,能够处理序列数据,具有记忆功能。以下是关于循环
递归神经网络的实现方法
递归神经网络(Recursive Neural Network,简称RNN)是一种特殊类型的神经网络,其特点在于能够处理具有层次或树状结构的数据,并通过递归的方式对这些数据进行建模。与循环神经网络
递归神经网络和循环神经网络的模型结构
递归神经网络是一种旨在处理分层结构的神经网络,使其特别适合涉及树状或嵌套数据的任务。这些网络明确地模拟了层次结构中的关系和依赖关系,例如语言中的句法结构或图像中的层次表示。它使用递归操作来分层处理信息,有效地捕获上下文信息。
Python递归的经典案例
当我们碰到诸如需要求阶乘或斐波那契数列的问题时,使用普通的循环往往比较麻烦,但如果我们使用递归时,会简单许多,起到事半功倍的效果。这篇文章主要和大家分享一些和递归有关的经典案例,结合一些资料谈一下个人的理解,也借此加深自己对
评论