您好,登錄后才能下訂單哦!
這篇文章給大家介紹java算法中的遞歸算法是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1. 在每一次調用自己時,必須是要接近于結果。
2. 必須在有限次計算中有一個終止的處理。
如不遵循以上條件往往會讓遞歸進入死循環,從而只有遞沒有歸。
下面我們就在Java中使用遞歸打印出99乘法表。
遞歸圖解
嵌套for循環實現99乘法表
for (int i = 1; i<= 9; i++) { for (int j = 1; j<= i; j++) { System.out.print(j + "*" + i + "=" + (i*j)); System.out.print(" "); } System.out.println();}
遞歸打印99乘法表代碼實現
public static void main(String[] args) { print(9);}private static void print(int j) { if (j > 0) { print(j - 1); for (int i = 1; i <= j; i++) { System.out.print(i + "*" + j + "=" + (i*j)); System.out.print(" "); } System.out.println(); }}
代碼執行結果:
如上我們可以看出來完全滿足前面說到的兩個條件,我們可以看下for循環其實最終出來的結果就是一個回歸的時候才執行的,看打印出來的結果我們可以看出是從最后一次調用print方法執行for循環打印的結果,在一層一層傳遞參數中我們沒有打印任何東西,直到參數從開始的9減少到0的時候最后一次方法調用結束,然后從后往前依次回歸執行for循環打印乘法口訣,最終呈現出乘法口訣表。
關于java算法中的遞歸算法是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。