日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
java中怎么創(chuàng)建遞歸例子

這篇文章主要介紹java中怎么創(chuàng)建遞歸例子,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

10余年的大安網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整大安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“大安網(wǎng)站設(shè)計”,“大安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

創(chuàng)建java遞歸的方法:首先創(chuàng)建明確的遞歸結(jié)束條件;然后設(shè)置判斷條件,代碼為【private static int sumNum(int n){if (n == 1){return 1;}return n + sumNum(n-1)}】。

創(chuàng)建java遞歸的方法:

程序調(diào)用自身的編程技巧稱為遞歸( recursion)。遞歸做為一種算法在程序設(shè)計語言中廣泛應(yīng)用。 一個過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個大型復(fù)雜的問題層層轉(zhuǎn)化為一個與原問題相似的規(guī)模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復(fù)計算,大大地減少了程序的代碼量。遞歸的能力在于用有限的語句來定義對象的無限集合。一般來說,遞歸需要有邊界條件、遞歸前進段和遞歸返回段。當邊界條件不滿足時,遞歸前進;當邊界條件滿足時,遞歸返回。

首先,我們來看一下最簡單的求和例子。

public static void main(String[] args) {
System.out.println(sumNum(100)); //輸出:5050
}
//求1-100的和
private static int sumNum(int n) {
if (n == 1) {
return 1;
}
return n + sumNum(n-1);
}

下面我們用遞歸實現(xiàn)斐波那契數(shù)列。

斐波那契數(shù)列,又稱黃金分割數(shù)列,指的是這樣一個數(shù)列:0、1、1、2、3、5、8、13、21、……在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞歸的方法定義:F(0)=0,F(xiàn)(1)=1,F(xiàn)(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在現(xiàn)代物理、準晶體結(jié)構(gòu)、化學(xué)等領(lǐng)域,斐波納契數(shù)列都有直接的應(yīng)用。

//用遞歸求解
public static int fib(int n) {
if (n == 0)
return 0;
if (n == 1 || n == 2)
return 1;
return fib(n - 1) + fib(n - 2);
}
//用循環(huán)求解
public static int fib2(int n) {
int a = 0, b = 1, c = 1;
if (n == 0)
return 0;
if (n == 1 || n == 2)
return 1;
for (int i = 0; i < n - 1; i++) {
c = a + b;
a = b;
b = c;
}
return c;
}
//用數(shù)組求解
public static int fib3(int n) {
int[] arr = new int[n + 1];
arr[0] = 0;
arr[1] = 1;
for (int i = 2; i <= n; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr[n];
}

下面再來看一下另外一個例子,計算階乘。

階乘是基斯頓·卡曼(Christian Kramp,1760~1826)于 1808 年發(fā)明的運算符號,是 數(shù)學(xué)術(shù)語。

一個正整數(shù)的 階乘( 英語: factorial)是所有小于及等于該數(shù)的 正整數(shù)的 積,并且有0的階乘為1。 自然數(shù)n的階乘寫作n!。 亦即n!=1×2×3×...×n。階乘亦可以 遞歸 方式定義:0!=1,n!=(n-1)!×n。

//用遞歸計算階乘
public static int jc(int n)
{
//結(jié)束條件
if ( n == 1)
return 1;
//遞歸條件
return n * jc(n-1);
}
//用for循環(huán)實現(xiàn)階乘
public static int jc2(int n)
{
int sum = 1;
for (int i = 1; i <= n; i++) {
sum *= i;
}
return sum;
}

遞歸的條件:

1、 結(jié)束條件: 必須有一個明確的遞歸結(jié)束條件,稱為遞歸出口。

2、 遞歸條件: 遞歸的運算法則.

遞歸的特點:

1、簡潔明了: 遞歸算法,一般讓人一眼就能看出運算結(jié)構(gòu),很接近于數(shù)學(xué)自然語言。

2、內(nèi)存消耗大:在遞歸調(diào)用的過程當中系統(tǒng)為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數(shù)過多容易造成棧溢出等。所以一般不提倡用遞歸算法設(shè)計程序。

以上是java中怎么創(chuàng)建遞歸例子的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當前名稱:java中怎么創(chuàng)建遞歸例子
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/jieejg.html