你搞懂递归与迭代(非递归)了吗?(非常重要)

 

 💘作者:你我皆为凡人

 💘博客主页:你我皆为凡人的博客

 💘专栏:C语言编程刷题篇

                初阶C语言

 💘名言警句:时间不会为任何人停留,而事物与人,无时不刻也在变化着。每一个人,也都在不停向前!

 💘觉得博主文章写的不错的话,希望大家三连(✌关注,✌点赞,✌评论),多多支持一下!!
 

96a4050f3b344e2bb6109afb1ae4a843.gif

 

  • 59
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 91
    评论
归和代是两种常见的解决问题的编程方法,它们在处理数据结构和算法时有着不同的执行机制和理解方式。 **归**: 归是一种通过将大问题分解为更小的相同或类似子问题,并调用自身来解决这些子问题的过程。它通常涉及一个函数(或方法)调用自身,并在每次调用时处理规模更小的问题,直到达到基本情况(也称为归基或终止条件),然后逐级返回结果。归的一个关键特征是每次调用都需要保存状态以便于后续恢复。 **代**: 代则是在循环结构中解决问题,通常使用循环(如for、while等)来逐步执行一系列步骤,每次代都会更新当前状态,直到达到预设的终止条件。代不需要函数调用自身,而是直接在循环内部完成任务,没有明确的“归”过程。 **区别**: 1. **思维方式**:归是自上而下的,像倒推游戏一样;代则是自底向上的,像爬楼梯一样。 2. **效率**:归可能会导致大量的函数调用开销,如果归深度过深可能导致栈溢出;而代通常更节省内存。 3. **控制流**:归依赖于函数返回和调用,易于理解和表达问题的本质;代则更加直观,便于实现复杂的数据结构遍历。 4. **语言支持**:并所有编程语言都对归有良好的支持,一些有限制的语言可能需要特殊技巧或库来避免栈溢出。 **相关问题**: 1. 归是如何避免无限循环的? 2. 什么情况下适合使用代而归? 3. 归和代哪种更容易理解和调试?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 91
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值