C语言初识函数递归(下)

引言

与函数递归一样,函数迭代也是解决问题的常用方法之一。

1.什么是迭代?

百度百科说将一个函数自身复合多次就是函数迭代。简单来说函数迭代就是把一个复杂的问题转化为一个需要重复多次的过程,进而达到解决问题的目的。例如for循环就是迭代的一种。

2.迭代原理及示例

(1) 迭代原理:和函数递归一样都是函数自己调用自己。

(2)示例:与上节相同我们可以用求第n个斐波那契数列这道题目来展示函数名为Fibonacci_sequence(斐波那契数列的前两个数都为1,后面每个数等于前面两个数之和)

分析:

有特殊推一般,当n = 1,2时 结果为1,而当n>2时,结果为前两个数之和。

所以我们可以构造一个重复的过程完成这个问题如下:在这里插入图片描述

代码展示:

在这里插入图片描述

3.优点及与递归的区别

(1)优点:迭代的优点在于效率高。

(2)区别:两者占用的函数栈帧不同,递归占用的较多,而迭代则不用重复开辟空间,且迭代的效率更搞。但递归可以用少量代码完成指定任务,大大提高了程序员的效率。迭代在数据过大时也会出错。但两者的优缺点是相对的,没有优略之分。

制作不易,请大家支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

论程序猿是怎样炼成的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值