java递归算法实例



java递归算法实例,递归方法讲解。递归结构怎么使用?有什么用?

递归算法
A方法调用B方法很容易理解!递归就是:A方法调用A方法!简单地说就是方法自己调用自己,因此在设计递归算法时,必须要指明什么时候自己不调用自己,也就是不调用的条件。否则,就是个死循环!

java递归算法要点:
递归是一种常见的解决问题的方法,将问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。
利用递归可以用简单的程序来解决一些复杂的问题。比如:大多数排序使用的就是递归算法。

java递归结构有两个部分:
1. 定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。
2. 递归体。解答:什么时候需要调用自身方法。

递归算法实例代码
/**

* 测试递归算法

* @author 尚学堂高淇www.bjsxt.cn

*

*/

public class TestRecursion {

static int a = 0;

public static void test01(){

a++;

System.out.println(“test01:”+a);

if(a<=10){ //递归头

test01();

}else{ //递归体

System.out.println(“over”);


}

}

public static void test02(){

System.out.println(“TestRecursion.test02()”);

}

public static long factorial(int n){

if(n==1){

return 1;

}else{

return n*factorial(n-1);

}

}

public static void main(String[] args) {

test01();

System.out.println(factorial(10));

}

}