猫史档案馆


【教程帖】算法入门 三、尾递归(简单CU暴)

用户:5KQA5KQA查看:10 回复:3 评论:10 创建时间:2020-05-13T18:59:06


最近好像觉得没啥好讲的算法入门,so我就讲一讲比较简单的递归知识(递归还有好多东西)~

递归分为尾递归、非尾递归,今天我们就来讲一下尾递归~

首先我们先举个最最最最简单de栗子:

center_image

左边一段脚本用的是循环,而右边一段脚本用的就是递归

重复执行,左边←_←用的是循环;自制积木,右边→_→用的是递归

什么是递归?

递归,用简单、喵、通俗、滑稽(嘻嘻)的话语来说,递归就是在一个函数定义的时候继续调用自己

在上面的例子中:

center_image

知道递归是什么意思了么?

知道的继续……

其实递归往往会有一个递归终止条件递归终止条件一词从字面上理解,就是“一旦发生,递归将停止”。如果按照上面的例子说,一旦发生递归终止条件(递归终止条件值为true),就不切换造型

center_image

ヾ(❀^ω^)ノ゙

可能有人会问,既然递归和循环执行效果相同,为啥需要用递归呢?这是因为递归会清晰脚本思路。就像之前强调过N次的职责一样。再说一些复杂程序必定需要递归,例如如果你懂算法你还会接触到“分治”,这一定需要递归。

就是这么简单(跟你说递归还有好多东西)

下一节一定会讲非尾递归~


回复

上一页1 页 / 共 1下一页
爱涂鸦的菠萝君爱涂鸦的菠萝君

四个来去(不会打英文)?

点赞0


评论


ZH-Y-QZH-Y-Q

这个,能用while的尽量别用递归……

递归占用空间大,时间慢,效率低下……

不是DFS或堆的题千万别用递归(忠言逆耳利于行)

例如,我上次作喵不用while用DFS,保灵QWQ

点赞0


评论


KiahKiah

禁止套娃

点赞0


评论