C语言--递归与迭代

一·介绍

🎉递归:程序调用自身的编程技巧。
🎉迭代:重复取代的过程,目的通常是为了逼近所需目标或结果,每一次对过程重复成为一次迭代,而每一次迭代得到的结果会做为下一次迭代的初始值。
🔥递归和迭代本质是一种方法。

二·递归

🎈执行一个过程时需要重复调用该过程。
🎈一个过程在运算中还没结束又调用该过程
🎈递归,顾名思义:递推回归。从后往前处理。
🌈必须满足的两个条件:
•满足某个条件后停止。
•每次递归都更加接近这个条件。

三·迭代

🎈通过循环不断重复一个过程,这个过程中不断更新旧值,使新值不断取代旧值,新值又不断作为下一次的旧值,不断逼近目标,最终完成。循环执行一次就是一次迭代,迭代不是循环,迭代需要循环。
🎈一个过程结束再进行该过程。
🎈从前往后推理。

四·对比

☃️递归好处:递归可以使程序看着简介,便于理解。
☃️递归弊端:1.但递归会造成栈溢出(每次调用函数栈区需要开辟空间,但是栈区空间有限,当重复调用次数过多时,程序会崩溃),即递归和迭代的次数越多,我们会发现迭代依然只是一个简单的式子,而递归式子却越来越长,不断占用栈区内存。
☃️递归弊端:2.递归也使程序进行过多的重复计算,使计算机效率大大下降,如果你感兴趣,可以试一下比较大的数的一个递归,比如用递归计算斐波那契数列的第50个数,你会等一会才能出结果。
🌈总结:对于比较简单、不太占用空间的程序,我们一般采用递归(看起来简洁并且弊端影响不大),但对于比较复杂的,我们尽可能采取迭代。(个人理解)
🌈感谢观看!!!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值