问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

递归是怎么一回事?哪位老师能否通俗易懂的讲讲原理?

发布网友 发布时间:2022-04-23 10:01

我来回答

2个回答

热心网友 时间:2023-10-10 15:16

递归通俗的讲就是一个函数在其代码中反复调用自身。你应该知道菲波纳契数列,这个数列的定义是

f(x)=1 (x=1)
f(x)=2 (x=2)
f(x)=f(x-1)+f(x-2) (x>2)
也就是说从第三项开始的每一项的值都等于是前两项之和。这在数学中叫递推数列--高中数学内容。
如果把它变为一个要求第n个菲波纳契数的代码的话,应该如下所示(为了避免语言不通:)我使用伪代码):

int f(int step)
在这里x为上面所说的x变量,也就是要求的是第x项的值
{
if step=1
{
return 1
}
else if step=2
{
return 2
}
如果求得是第一项和第二项的话,就分别返回1和2,并退出函数

return f(x-1)+f(x-2)
否则的话就返回前面两项的和
}

这里的关键是最后一句。这里函数的返回直又要反过去调用它自身计算前面两项的值,这样就会反复调用,直到x变量在某次调用中变为1和2,返回已知的第一项和第二项的值,在层层返回,最后得出要求的第x项的值

说到本质的话,递归是一段程序的代码反复效用,把程序的参数等变量保存在一个堆栈里,直到到了边界条件以后再层层返回,将堆栈中的数据弹出计算,最后得到结果

热心网友 时间:2023-10-10 15:16

补充一下,递规包括直接递规和间接递规。直接递规是指在代码中反复调用自身,而间接递规是间接地调用自身。
比如:

int g(int x);
int f(int x)
{
if( x<=0 )
return x ;
else
return g(x-1)+2 ;
}
int g(int x)
{
return f(x)*x ;
}
益学堂的都业华讲中枢理论,但我看原著时看到的递归是什么意思呢?

递归是原著中讲到的数学函数,我们不需要做过多研究探讨。都老师的课上是把原著中的数学公式、理论阐述成通俗易懂的方法以便大家理解的。

...的成长教育具有重要作用。”这句话为什么是递归性?

由于在现时的社会大环境、应试教育模式和接收西方开放式教育等重重因素影响下,我们的孩子就像生活在一个大染缸里一样,很容易就被染污了,沾染上某些不良习气,例如娇横任性、叛逆不听话、不诚实、上网成瘾、打架、厌学、好动、注意力不集中、上课不专心等问题,尤其是处于幼儿及青少年阶段的中学生情况更...

赵老师,请问一个菜鸟问题:c#中,静态函数可以正确实现递归调用功能吗?静 ...

先来给你解释一下这个问题.递归其实最开始是程序员们为了方便自己写特殊的循环所使用.最开始的初衷是实现例如∑ 等数学运算所衍生出的循环方式.那么这么来看.你在一个循环中是否可以调用一个函数.问题只出在你的访问权限.从您的描述中来看.您想到的或者说担心的应该是所谓的变量值的存在时长或生命周期...

哪一门是经济系最难的专业课?

回答:到目前为止,你所学的经济金融系最难的科目是什么?它在哪里?或者可以说,你不难想到一门最令人兴奋的专业课程吗?要深刻地学习是困难的。如果你想结束考试,很难去做。所以,我有一个很好的计划做一个混合线。 具体来说,很难感受到博弈论 信息经济学和市场微观结构。如果其他科目可能是数学或者是...

...一下是老师的代码,老师说还可以用递归的方法。求解释。

2. 当统计完所有数据个位上的1的个数以后,我们还需要统计这些数据十位及以上的各位的一的个数,也就是不考虑个位了。既然不考虑个位,那就相当于把原来的数据个位都去掉,也就是把原来的数除以10,来统计了;此时,原来的十位成为了个位,这个问题就又转换成了统计个位上1的个数的问题了。要注...

大学数学(计算机专业)

我个人认为,用哪种语言属于末节,关键在养成良好的编程习惯。当年老师对我们说,打好基础后学一门新语言只要一个星期。现在我觉得根本不用一个星期,前提是先把基础打好。不要再犹豫了,学了再说,等你抉择好了,别人已经会了几门语言了。 汇编语言和微机原理是两门特烦人的课。你的数学/理论基础再好,也占不到...

数据结构,怎么利用非递归后序遍历找到x节点的所有祖先,以我的智商...

当在二叉树中后序遍历到访问某结点时 ,从栈顶到栈底正好是该结点从双亲开始直到根的所有结点(当然也就是该结点的所有祖先),因此这段程序就是非递归到该结点时,从栈底到栈顶输出栈中所有元素,也就是该结点的所有祖先

哪里有姜久才老师的计算机二级VF考试的视频讲课资料(要的全部的,不是...

一、计算机系统组成及工作原理 ⒈计算机系统组成: ⑴计算机的发展。 ⑵计算机的分类及应用。 ⑶计算机硬件结构。 ⑷主要部件功能。 ⑸计算机软件的功能与分类。 ⑹系统软件与应用软件。 ⒉计算机工作原理: ⑴计算机中数的表示。 ⑵运算器。 ⑶控制器。 ⑷存储器。 ⑸输入与输出系统。 ⒊计算机的主要性能: ⑴计算机...

如何自学Python?

阶段六:全栈项目实战Python全栈开发与人工智能之全栈项目实战学习内容包括:企业应用工具学习、CRM客户关系管理系统开发、路飞学城在线教育平台开发等。阶段七:数据分析Python全栈开发与人工智能之数据分析学习内容包括:金融量化分析。阶段八:人工智能Python全栈开发与人工智能之人工智能学习内容包括:机器学习、...

自学c语言 零基础 看什么书 该怎么学

《《啊哈C语言:小学生坐在马桶上都可以读懂的C语言编程入门书》.zip》百度网盘资源免费下载 链接:https://pan.baidu.com/s/1aEXrb1oxnRmMWUlafELpfQ 提取码:pusr啊哈C语言:小学生坐在马桶上都可以读懂的C语言编程入门书

感恩老师辛苦老师的话 为什么要感恩老师的语言 感谢老师们的 学生感谢老师的话真实 给老师的话 老师的话 递归的定义 老师负责 老师辛苦
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
母亲55岁得了糖尿病,吃药控制在9以内,最近有点效果不好,到13点几了... ...很害怕发展成糖尿病足,有什么方法控制血糖吗? 我的妈妈得了糖尿病,那个什么值8点多,似乎不能治好,那么如果能控制血糖... 由糖尿病引起的白内障怎样才能控制?最好用中药的方法或者说按摩哪个穴位... 新凯美瑞2.5发动机和8自动变速箱是进口的吗? 网页图片下载神器!图片收集与管理利器Eagle ...怎么弄到自己的电脑里面去自己玩,不用4399游戏盒。 关于足部反射区,懂中医的入 脚部反射区图解图片 足部反射区疼痛怎么办 数据结构中的二叉树中的递归怎么理解? 什么是递归,用Java怎么实现? java中递归算法是什么怎么算的? 递归怎么理解 怎么调用 举个列子 递归怎么实现 请问递归到底是怎么一回事? 什么是递归函数? 怎样实现递归? 如何理解递归 汽车买保险应该怎么买划算? 新买的小车要怎么买保险?主要购买的哪些项目? 微信发送不了信息,图片都变成黑色的是不是封号了? 微信被封了,需要选择被封账号的头像,但是上面没有我的头像…怎么解? 微信好友被封号了,头像和朋友圈背景封面在,其他照片没有了多久可以被解 我被永久封号了。想把微信的头像换掉,改怎么做? 微信好友如果被永久封号了,我还能打开他的头像吗? 朋友的微信被封号怎么知道他是短期封号还是永久封号,头像和朋友圈背景图... 被封了,怎么才能换头像? 被封了,但是从朋友那了解到没几天自己微信的昵称和头像全变了,是不是被盗号了? 被永久封停后 头像是被封时候的头像吗?还能搜到这个微信吗? macbook air内的某些文件突然不见了,怎么恢复? 递归怎么样理解 C语言递归算法是怎么执行的 什么是递归函数,递归函数是怎样执行的 大家怎么理解递归的 如何计算递归 java中的递归方法是怎么样的?请举例解析一下 类似于maka.im的在线制作网站有哪些? 怎么样去理解递归函数 哪里有在线制作网页的网站? 如何学习递归 如何搭建一个在线的类似夺目的在线视频制作网站? 怎么制作一个网页商城 毕业短视频动画制作有什么可以在线制作网站推荐? 有没有自己可以做动画的在线动画制作网站?初学者一枚 行测,公共基础,有没有在线做题的网站? 动画制作在线网站用哪些? 哪有在线做数学题的网站 在线图片制作网站都有哪些,哪个最好用? 问一下。这俩字怎么念? 大家都知道哪些复姓啊