聊聊递归和循环的那些事
2020年06月04日 22:57 __ _ _ _ _

No one but ourselves can degrade us。没人能够贬低我们,除非是我们自我。

最近小编可能在家呆久了,静不下心,很是浮躁,不知道大家会不会有这种情况哈。其实能发现心情烦躁也是好事,早发现早适应,随便给自己的大脑放松一下,多思考思考以后干什么。
最近公众号平台也有些变化,公众号文章并不是和以前一样按时间排序,甚至有时候你可能会看到公众号给你给你推送的是前几天的文章,这不是Bug,应是公众号做的小改变。
而至于排序的具体标准是啥,小编也不太清楚。所以大家还在等什么,赶快给小编加个星标啊,不然卑微小Bob和大家以后真的可能就失联了
**


。点击【程序员Bob】的图像,再点击右上角的三个点,便可以进去设置星标啦。 **
考虑到大家可能会有关于C语言的考试,所以聊聊关于各个语法点之间的细节知识,这次先聊聊循环和递归,它们用起来并不是很难,可能找递归结束的条件要比循环难那么一点点。总的来说,用多了也就那样,我想大家肯定也是这样认为的


。
递归
简单来说便是允许函数调用它自己,使得递归看起来会比循环更简洁,代码可读性也会随之提高,可能有小伙伴会问那这样岂不是不美哉,还要循环干嘛呢?
循环
通常用的是for,do…while,while语句,在这些语句中它们也各有不同,在使用循环时对于循环的次数会比递归的思路更清晰,因为它们循环的初始值以及循环的条件是写在一起的,阅读起来简单一点。在循环语句中,主要是while和do…while的不同,想探究的可点击之前写的一篇文章:
传送门 : 深探 while 与 do while
想想 Python 我们在学循环时用的是for…in…range,不知是否还记得,可自行复习:
用Python也能画图?用Python来画个“python”
接下来我们来讲讲循环和递归在处理问题时谁的效率会更高呢,或者谁更占用资源呢?
学过循环和递归的小伙伴都知道他们可以解决相同的问题,也不知大家是否还记得最开始学递归是解决的什么问题,小编以前解决的是阶乘问题,阶乘对于每一级的调用总是有值会改变的,在每次调用函数时,给函数的那个值便可以随之改变,这种题型的思路用递归相较于循环会更清楚一些,大家空闲之余可以试试。
But, 小编还是优先推荐大家使用循环
,毕竟简单问题用循环就足以解决了,不用很麻烦的去找递归的结束条件。其次,递归还有个很不好的一点,就是每次调用函数时都会产生一组变量,而每次创建的变量都会堆放在栈中,随之而来的便是使用更多的内存,也更容易占用资源,导致你调用的次数会受到内存大小的限制。而且我们知道在调用函数时是会花费一定时间的,这就会导致效率低下。
所以我们在解决问题时要根据情况,不能随便就直接拿循环或递归直接上。小编也看见过有小伙伴为了展示自己代码的简洁,硬是要用递归,想了很久,而我们在用循环后就开始写其它的项目了


, 时间就是资源,我们得学会自己把握。
To:明天小编准备用Python见证一下每天进步一点点的力量哦。

如果大家也遇到过心情浮躁的情况,建议让自己的大脑放松一下哦,可以适当运动运动,休息一下。
往期推荐:
使用油猴刷课,刷题,刷VIP电视,电影攻略全在这里了(含视频讲解) 2020-06-01
用Python玩转“Hello World” 2020-05-27
小Bob开始征稿啦 2020-06-02
公众号:程序员Bob
一个正在学习C语言的人,致力于将所学内容讲得更透彻!
点赞关注谢谢你
长按下图二维码关注,和你一起领悟程序员的魅力。
预览时标签不可点
阅读
__











