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));
}
}