0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是递归与循环

jf_78858299 来源:人工智能知识分享 作者:人工智能知识分享 2023-02-21 14:27 次阅读

我们可以使用循环语句来替代上一篇文章中的递归:


>>>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
收藏 人收藏

    评论

    相关推荐

    算法设计:3.3 递归循环转换(1)#硬声创作季

    算法设计
    学习电子
    发布于 :2022年12月21日 10:37:44

    算法设计:3.3 递归循环转换(2)#硬声创作季

    算法设计
    学习电子
    发布于 :2022年12月21日 10:38:15

    《C Primer Plus》读书笔记——递归

    递归递归函数中,位于递归调用前的语句和各级被调函数具有相同执行顺序递归函数中,位于递归调用后的语句和各级被调函数具有相反执行顺序每级
    发表于 02-05 20:06

    可编程控制器属于人工智能吗?(转)

    人工智能与传统编程并没有太多差异,唯一的差异是需要大量数据和算力来进行模型拟合!AI=大数据(算料数据)+算法(深度学习、基于规则、基于知识、基于统计等等大多是递归循环结构)+算力(算力非常高
    发表于 11-07 05:26

    在Python中什么情况必须使用递归

    在前面的文章中,我们说到了可以使用循环语句来替代递归。但是,有时候必须使用递归,或者说使用递归才是更方便的解决方案。 考虑像下面这样的一个任务:计算一个嵌套的子列表结构中所有数字
    的头像 发表于 02-21 14:25 560次阅读

    Python支持递归函数

    Python支持递归函数——即直接或间接地调用自身以进行循环的函数。递归是颇为高级的话题,并且它在Python中相对少见。然而,它是一项应该了解的有用的技术,因为它允许程序遍历拥有任意的、不可预知的形状的结构。
    的头像 发表于 02-21 14:28 617次阅读

    C语言,你真的懂递归了吗?

    要说到递归如果不说栈的话,我觉得有点不合适,递归特点就是不断的调用同一个函数,如果这个函数没有一个递归界限,那么就是死循环了,所以讨论递归
    的头像 发表于 06-06 15:24 954次阅读
    C语言,你真的懂<b class='flag-5'>递归</b>了吗?

    常见的PLC系统BUG有哪些?

     PLC系统中的内存溢出问题可能导致程序崩溃或系统不稳定。为了减少内存溢出问题,合理使用内存资源,避免无限递归循环或过度使用变量和数据结构。
    发表于 11-15 09:59 545次阅读

    循环神经网络和递归神经网络的区别

    循环神经网络(Recurrent Neural Network,简称RNN)和递归神经网络(Recursive Neural Network,简称RvNN)是深度学习中两种重要的神经网络结构。它们在
    的头像 发表于 07-04 14:19 737次阅读

    递归神经网络是循环神经网络吗

    递归神经网络(Recurrent Neural Network,简称RNN)和循环神经网络(Recurrent Neural Network,简称RNN)实际上是同一个概念,只是不同的翻译方式
    的头像 发表于 07-04 14:54 605次阅读

    递归神经网络与循环神经网络一样吗

    递归神经网络(Recursive Neural Network,RvNN)和循环神经网络(Recurrent Neural Network,RNN)是两种不同类型的神经网络结构,它们在处理序列数据
    的头像 发表于 07-05 09:28 644次阅读

    rnn是递归神经网络还是循环神经网络

    RNN(Recurrent Neural Network)是循环神经网络,而非递归神经网络。循环神经网络是一种具有时间序列特性的神经网络,能够处理序列数据,具有记忆功能。以下是关于循环
    的头像 发表于 07-05 09:52 475次阅读

    递归神经网络的实现方法

    递归神经网络(Recursive Neural Network,简称RNN)是一种特殊类型的神经网络,其特点在于能够处理具有层次或树状结构的数据,并通过递归的方式对这些数据进行建模。与循环神经网络
    的头像 发表于 07-10 17:02 264次阅读

    递归神经网络和循环神经网络的模型结构

    递归神经网络是一种旨在处理分层结构的神经网络,使其特别适合涉及树状或嵌套数据的任务。这些网络明确地模拟了层次结构中的关系和依赖关系,例如语言中的句法结构或图像中的层次表示。它使用递归操作来分层处理信息,有效地捕获上下文信息。
    的头像 发表于 07-10 17:21 504次阅读
    <b class='flag-5'>递归</b>神经网络和<b class='flag-5'>循环</b>神经网络的模型结构

    Python递归的经典案例

    当我们碰到诸如需要求阶乘或斐波那契数列的问题时,使用普通的循环往往比较麻烦,但如果我们使用递归时,会简单许多,起到事半功倍的效果。这篇文章主要和大家分享一些和递归有关的经典案例,结合一些资料谈一下个人的理解,也借此加深自己对
    的头像 发表于 08-05 15:57 267次阅读