正确使用递归函数
Posted Recently 祝祝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正确使用递归函数相关的知识,希望对你有一定的参考价值。
求x的n次方,并且时间复杂度为O(logn)
思路:使用递归,重复利用代码,这其实是等比数列的求和公式,每次递归了做都是一次乘法操作,这也是一个常数项的操作,每一层递归都是公用一块数组地址空间的
public class TEST
public static int function1(int x ,int n)
if (n==0)
return 1;
int t = function1(x,n/2);
if (n/2==1)
return t*t*x;
return t*t;
降低时间复杂度的斐波那契数列
int fibonacci(int first, int second, int n)
if (n <= 0)
return 0;
if (n < 3)
return 1;
else if (n == 3)
return first + second;
else
return fibonacci(second, first + second, n - 1);
以上是关于正确使用递归函数的主要内容,如果未能解决你的问题,请参考以下文章
x的n次方叫啥函数,n叫指数,x叫啥?另外啥叫幂函数?谢谢好心人。
用递归函数计算从n个人中选择k个人组成一个委员会的不同组合数