1.递归算法基本思路:java
Java递归算法是基于Java语言实现的递归算法。递归算法是一种直接或者间接调用自身函数或者方法的算法。递归算法实质是把问题分解成规模缩小的同类问题的子问题,而后递归调用方法表示问题的解。递归每每能给咱们带来很是简洁很是直观的代码形式,从而使咱们的编码大大简化,然而递归的思惟确实跟咱们的常规思惟相逆的,一般都是从上而下的思惟问题,而递归趋势从下往上的进行思惟。算法
2.递归算法解决问题的特色:函数
在作递归算法的时候,必定把握出口,也就是作递归算法必需要有一个明确的递归结束条件。这一点是很是重要的。其实这个出口就是一个条件,当知足了这个条件的时候咱们就再也不递归了。this
3.代码示例:编码
1
2
3
4
5
6
7
8
|
public
class
Factorial {
//this is a recursive function
int
fact(
int
n){
if
(n==
1
)
return
1
;
return
fact(n-
1
)*n;
}
}
|
1
2
3
4
5
6
7
8
9
|
public
class
TestFactorial {
public
static
void
main(String[] args) {
// TODO Auto-generated method stub
Factorial factorial=
new
Factorial();
System.out.println(
"factorial(5)="
+factorial.fact(
5
));
}
}
|
代码执行流程图以下:spa
此程序中n=5就是程序的出口。设计