首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

野牛程序员讲少儿编程之——递归大冒险!像镜子里的自己,层层嵌套又神奇!

野牛程序员讲少儿编程之——递归大冒险!像镜子里的自己,层层嵌套又神奇!

野牛程序员讲少儿编程之——递归大冒险!像镜子里的自己,层层嵌套又神奇!🧠

来啦!今天进入编程界的“魔法森林”——递归(Recursion)

别怕,这不是数学书上的那种“天书”一样的递推公式,也不是老师讲了半天大家集体晕倒的黑洞概念。

递归,其实是函数自己调自己,像照镜子一样,一层一层套娃,一层一层返回,妙不可言!

🪞 递归到底是啥?

想象一个娃娃对着镜子,一直看到无数个自己 ...

递归就像那面镜子,自己调用自己,然后再自己里继续调用自己……

但别担心,它不是无限循环,它一定有个“出口”!只要有出口,它就能平安“回家”。

🧵 通俗比喻:递归 = 派小助手做事

假如小明要叠5件衣服:

小明说:我要叠5件衣服!

小助手说:我先叠1件,剩下的我叫另一个助手来叠!

于是:

小助手1 叠1件 把“叠4件”的任务交给小助手2

小助手2 叠1件 把“叠3件”的任务交给小助手3

...

直到最后一个小助手只叠1件衣服,终于开始往回递交任务!

最经典例子:阶乘 factorial

所谓n!(读作“n的阶乘”)意思是从1 × 2 × 3 × ... × n

举个例子:

5! = 5 × 4 × 3 × 2 × 1 = 120

🧠 用递归思路看:

‍ 用 C++ 实现:

🧒 小朋友常问:

🤔 为啥递归一定要有“出口”?

因为没有出口会一直调自己,程序就“炸了”,卡住不动。

🤔 递归比循环好用吗?

有些问题递归更自然,比如树结构、数学公式、斐波那契数列、汉诺塔等等!

🧰 递归三要素(一定要牢牢记住):

明确出口:什么时候不再调用自己

缩小问题:下一次调用要比上一次更接近出口

相信它能行:只要写对了,计算机会乖乖完成它!

🪜 和循环的区别?

递归小口诀

🧠 一层一层往下跳,

出口一来就回跑。

带着结果一起捡,

全部完成齐欢笑!

野牛程序员教少儿编程与信息学奥赛

宜宾市野牛网络科技有限公司专业微信小程序开发、网站建设、软件开发等

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OCaf-V4ZTmTwvS4pDgERSwkA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券