java的遞歸思想就是自己調用自己,必須滿足有達到終止的條件,否則會進入死循環。遞歸分為直接遞歸和間接遞歸。直接遞歸就是在函數執行過程中調用本身。間接遞歸:在執行過程中調用其他函數再通過這個函數調用本事。
簡單實例用。典型應用利用遞歸實現斐波那契數列。斐波那契數列是這樣的一個數列0、1、1、2、3、5、8、13、21、……:定義公式為F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)
根據上一個實例我們通過總結發現,遞歸首先要有一個運算法則,就是上步斐波那契數列的數學公式,其次要有結束條件使其跳出死循環。
實現小學的99乘法口訣。首先利用雙重for循環來解決。代碼如圖
利用遞歸方法實現小學99乘法口訣,代碼及執行結果如圖
簡潔明了: 遞歸算法,一般讓人一眼就能看出運算結構,很接近于數學自然語言。特備是在我們的實際項目中,邏輯比較復雜,利用遞歸可以使邏輯清晰明了,增加代碼的易讀性。
內存消耗大:在遞歸調用的過程當中系統為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數過多容易造成棧溢出等。當我們的應用算法中利用內存比較多的時候,不建議用遞歸算法。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!