#算法#第31天,我终于被递归打败了,禁止套娃太应该了!( 二 )
本文插图
258集 , 递归实现数字累加
需求:定义一个函数 sum_numbers;能够接收一个 num 的整数参数 , 计算 1+2+......+num 的结果 。
写递归程序时候 , 第一步就要考虑出口问题 。
本文插图
这个程序有点没看懂 , 比如:
他第一句说根据需求倒过来考虑出口是啥意思?
把数字1当成出口的概念是倒序计算吗?
为什么要设定出口是 num ==1?
为啥 return 是 1?
设定temp 的逻辑是怎么来的?
他这个假设 sum_numbers 能够正确处理累计 , 这个假设意义何在?
本文插图
259集 , 数字累加的执行流程图
用配图再次演练上一集案例 , 这次得带着疑问好好听课了 。
本文插图
验证了我上一集的猜测 , 确实是数字是从大到小开始进行调用 , 然后再从小到大开始进行相加 。
所以关键点是2个:
第一个:把数字1作为出口 , 因为1是最后一次函数调用的结果 。
第二个:大胆的假设 , 实现加法 。
这个思维实际上就是逆向思维 。
不得不说 , 想出这些算法思路的人 , 真是天才!
提示:递归是一个 编程技巧 , 初次接触递归会感觉有些吃力 。 在处理 不确定的循环条件时 , 格外的游泳 , 例如:遍历整个文件目录的结构 。
推荐阅读
- 「晓卫双」泰国转身就卖给了美国?官方终于出面回应,中国捐的口罩刚落地
- 2020@2020 iPhone SE终于来了?A13处理器+三种配色
- [音乐俱乐部]蔡徐坤一语中的,直言表现不专业,赵小棠“直女”人设终于被怼
- 麒麟820:麒麟820完虐骁龙756G,华为芯片终于出了一口气
- 「雷科技」快充规格揭晓?魅族17终于摘掉万年24W快充:全系搭载30W
- 「游戏大妹子」拳头宣布打野装备调整,4件武器加强,打野终于被重视了
- 「TalkingData」打造智能化的小微企业信用评估体系?,如何用数据+算法
- 『猫哥军备1』海外力量全部限制行动,美军终于自令恶果,美军疫情全面爆发
- [橙子新娱乐]赵丽颖终于成了自己的女王,农村出身到一线女星
- 「世界就这样」33岁李易峰新剧终于定档!女主颜值演技好钟意,阵容全员是老熟人,原创
