正确使用递归函数

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个人组成一个委员会的不同组合数

计算1!+2!+3!...+(n-1)!+n!。设计求解该问题的C语言程序,阶乘的计算使用递归函数实现

如何在excel表中计算递归函数?

编写一个函数实现n^k,使用递归实现

理解numpy exp函数