同样的算法,用递归是不是比递推慢很多

2021-03-11 06:45:36 字数 1362 阅读 3616

1楼:

递推和递归比较有意思,简单的说,递推是在借助前一个几经计算出来内的结果去计算下一步的结果容,以此来得到最终结果,有此可知递推并不需要保留太多现场信息,

而递归就不一样,虽然也是要借助前一步的结果,但这前一步结果往往刚开始是未知的,要一步一步递推下去,直到遇到终结条件,然后在一层一层的回归,直到回归到最上一层计算出结果,可见递归是包含两步的,一个递推下去,一个在回归 ,

递归往往表达简单 ,但计算需要时空都比较大

2楼:匿名用户

是的递归每次进入就是调用子程序,必然慢.而且要不断开内存.

.多了自然影响速度.

3楼:

如果单纯的bai递归一定会慢du很多,因为你计算zhi时反复计算了一些值,浪费了dao相当多的时间,

但是专优化之后的递归和地属推效率基本一样,虽然递归要进栈出栈花费时间,且容易因递归深度过大而栈溢出.

所谓的优化,就是记忆化,比如递归函数是f(a,b)那么弄一个数组,f_r[a,b]

每次运行递归函数f(a,b)时,检测f_r[a,b]的值是否已定义,是则返回这个值,否则执行函数,且在函数返回前记录返回值到f_r[a,b]中.

c语言用递推和递归两种算法完成斐波那契数列的计算,给一下**

4楼:匿名用户

||//递归copy法

int fibo1(int n)

//递推法

int fibo2(int n)

{int f0=1,f1=1,f;

if (n<2)

return 1;

for(int i=2;i知的条件去推出未知的条件;递归则是将大问题逐渐转化为若干个相同的子问题,直到得到已知的最小子问题,再回溯依次得到父问题的答案。是由未知到已知,再从已知到未知。对于复杂的问题,递归把问题简单化,读起来易懂。

5楼:匿名用户

//递归,就是函数自己调用自己

#include

int feibonaqie(int n)int main(void)

6楼:小花猫爱大萝卜

#include

#include

#include

void main()

//递归法

int fib(int n)

//递推法

int fic (int n)

return f2;

}此段程序将递归法和递推法计算斐波拉契函数的时间详细计算出,可以比较两个算法的时间复杂性。显然此处递推比递归算法要好得多。

递推就是从前往后推,递归还有个回溯的过程,通过调用自身函数完成计算。

求比数数多几的数是多少,用()法计算

1楼 akkk吃苹果 求比一个数数多几的数是多少用加法计算。 比如 求比5多3的数,列式计算为,5 3 8 加法是最简单的数字任务之一。 最基本的加法 1 1,可以由五个月的婴儿,甚至其他动物物种进行计算。 加法有几个重要的属性。 它是可交换的,这意味着顺序并不重要,它又是相互关联的,这意味着当添加...

在高一生物里边类比推理法是什么,高中生物里用到类比推理的有哪些?越多越好

1楼 l已存在 1 细胞学说的建立过程中 施旺就运用了类比方法 知道就好少考 2 dna模型建立的过程中 沃森和克里克根据前人的研究成果 认识到蛋白质的空间结构呈螺旋型 于是他们推想 dna结构或许也是螺旋型的 3 萨顿的假说 基因在染色体上 运用了类比推理法 典型 高中生物里用到类比推理的有哪些?...

讽刺艺术一直是《围城》的一大亮点,它的手法灵活多样,比喻、用

1楼 回忆 《围城》中的比喻, 广泛,标新立异,带有深刻的哲理意味,使人在频频发笑的同时认识了深刻的道理。如 一个人的缺点正象猴子的尾巴,猴子蹲在地面的时候,尾巴是看不见的,直到它向树上爬,就把后部供给大众瞻仰,可是这红臀长尾巴是本来就有并非地位爬高的新标识 ,这种带有格言味道的比喻对高松年爬上校长...