【JAVA基础】简析递归算法

概念:

【递归算法:】递归算法是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或者过程)来表示函数的解。
【递归函数:】一个过程(或者函数)直接或间接调用自己本身,这种过程(或者函数)叫做递归函数。

特点:

递归就是在过程或函数里调用自身。
在使用递归策略时,必须有一个明确的递归结束条件。称为递归出口。
实现简洁,但是效率比较低。

案例:
public static  int qh(int i){
        int sum  ;
        if(i==1){
            return 1; 
        }else {
            sum=i+qh(i-1) ;
            return sum ; 
        }
    }

使用递归快速求和:
假设用个比较小的数字举例子我们现在求1到4相加的和,i传参4
i=4 qh(4)=4+qh(3) ;
i=3 qh(3)=3+qh(2) ;
i=2 qh(2)=2+qh(1) ;
i=1 qh(1)=1 ;
如此分别向上看,知道qh(1)的值之后,便可分别得到对应的值以及和。

猜你喜欢

转载自blog.csdn.net/u013806366/article/details/78970931