练习:求n的阶乘。(不考虑溢出)
运用之前循环(迭代)的方法来求的话就是如下代码
那么如果我们用递归的话就应该如下:
练习:求第n个斐波那契数。(不考虑溢出)
首先我们要知道斐波那契数列:
1 1 2 3 5 8 13 21 34 55.。。。。。
前两个数字之和等于第三个数字
这个代码有很大的缺点,效率非常慢,算n=55时就需要很长的时间,所以这里使用递归的方法不是很实用。
提示:
1. 许多问题是以递归的形式进行解释的,这只是因为它比非递归的形式更为清晰。
2. 但是这些问题的迭代实现往往比递归实现效率更高,虽然代码的可读性稍微差些。
3. 当一个问题相当复杂,难以用迭代实现时,此时递归实现的简洁性便可以补偿它所带来的运行时开
销。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)