您的位置:首页 >综合精选 >正文

递归算法和迭代算法的区别 递归算法

摘要 大家好,我是小典,我来为大家解答以上问题。递归算法和迭代算法的区别,递归算法,很多人还不知道,现在让我们一起来看看吧!1、和迭代差...

大家好,我是小典,我来为大家解答以上问题。递归算法和迭代算法的区别,递归算法,很多人还不知道,现在让我们一起来看看吧!

1、和迭代差不多,只是通过定义和调用函数来实现迭代

2、把事情分解成相同的步骤重复执行直到符合某一条件时结束,再反过来递推到最初的状态,问题就解决了

3、比如定义(用的是C语言)

4、int fun(int a)

5、{

6、 if(a==1) return 1;

7、 else

8、 {

9、 a=a*fun(a-1);

10、 return a;

11、 }

12、}

13、在fun里面再定义fun,这个fun都只做一件事,把a的内容和fun(a-1)相乘作为返回值

14、这里要有个终止条件,即a=1时返回值为1,这样,如果我给最初的fun里的a赋值为5,第一步为5*fun(4),而执行fun(4)的结果为4*fun(3)....直到fun(2)=2*fun(1)即fun(2)=2*1,再把fun(2)代回去,得fun(3)=3*2*1,最后倒推的结果为fun(5)=5*4*3*2*1,即这个递归函数实现了a的阶乘fun(a)=a!

15、够详细了吧,觉得好的话给我加分吧 ^_^

本文到此讲解完毕了,希望对大家有帮助。

版权声明:本文由用户上传,如有侵权请联系删除!