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就是程序的出口。設計