2 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個贊
Java遞歸算法是基于Java語言實(shí)現(xiàn)的遞歸算法。遞歸算法是一種直接或者間接調(diào)用自身函數(shù)或者方法的算法。遞歸算法實(shí)質(zhì)是把問題分解成規(guī)??s小的同類問題的子問題,然后遞歸調(diào)用方法表示問題的解。遞歸往往能給我們帶來非常簡潔非常直觀的代碼形式,從而使我們的編碼大大簡化,然而遞歸的思維確實(shí)跟我們的常規(guī)思維相逆的,通常都是從上而下的思維問題,而遞歸趨勢從下往上的進(jìn)行思維。
二、遞歸算法解決問題的特點(diǎn):
【1】遞歸就是方法里調(diào)用自身。
【2】在使用遞歸策略時,必須有一個明確的遞歸結(jié)束條件,稱為遞歸出口。
【3】遞歸算法代碼顯得很簡潔,但遞歸算法解題的運(yùn)行效率較低。所以不提倡用遞歸設(shè)計(jì)程序。
【4】在遞歸調(diào)用的過程中系統(tǒng)為每一層的返回點(diǎn)、局部量等開辟了棧來存儲。遞歸次數(shù)過多容易造成棧溢出等,所以一般不提倡用遞歸算法設(shè)計(jì)程序。
【5】在做遞歸算法的時候,一定把握出口,也就是做遞歸算法必須要有一個明確的遞歸結(jié)束條件。這一點(diǎn)是非常重要的。其實(shí)這個出口就是一個條件,當(dāng)滿足了這個條件的時候我們就不再遞歸了。
三、代碼示例:
代碼執(zhí)行流程圖如下:
此程序中n=5就是程序的出口。
Java是一種可以撰寫跨平臺應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個贊
添加回答
舉報