大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java遞歸算法示例

Java遞歸算法示例

更新時間:2022-05-19 10:43:26 來源:動力節點 瀏覽1752次

在本教程中,動力節點小編將告訴大家Java遞歸函數及其優缺點。

在 Java 中,調用自身的方法稱為Java遞歸方法。而且,這個過程稱為遞歸。

一個物理世界的例子是放置兩個相互面對的平行鏡子。它們之間的任何對象都將被遞歸反射。

遞歸如何工作?

在上面的例子中,我們recurse()從方法內部調用了main方法。(正常的方法調用)。而且,在 recurse() 方法中,我們再次調用了相同的遞歸方法。這是一個遞歸調用。

為了停止遞歸調用,我們需要在方法內部提供一些條件。否則,該方法將被無限調用。

因此,我們使用if...else 語句(或類似方法)來終止方法內的遞歸調用。

示例:使用遞歸的數字的階乘

class Factorial {
    static int factorial( int n ) {
        if (n != 0)  // termination condition
            return n * factorial(n-1); // recursive call
        else
            return 1;
    }
    public static void main(String[] args) {
        int number = 4, result;
        result = factorial(number);
        System.out.println(number + " factorial = " + result);
    }
}

輸出:

4 階乘 = 24

在上面的示例中,我們有一個名為factorial(). factorial()是從方法中調用的main()。與數字作為參數傳遞的變量。

在這里,請注意聲明,

return n * factorial(n-1);

該factorial()方法正在調用自身。最初, n 的值是 4 inside factorial()。在下一次遞歸調用期間,將 3 傳遞給該factorial()方法。這個過程一直持續到n等于 0。

什么時候n等于 0,if語句返回 false,因此返回 1。最后,將累積的結果傳遞給main()方法。

遞歸的優缺點

當進行遞歸調用時,變量的新存儲位置會在堆棧上分配。當每次遞歸調用返回時,舊的變量和參數都會從堆棧中刪除。因此,遞歸通常使用更多內存并且通常很慢。

另一方面,遞歸解決方案更簡單,編寫、調試和維護的時間更少。如果大家想了解更多相關知識,不妨來關注一下動力節點的Java教程,里面的課程內容細致全面,通俗易懂,適合小白學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲综合视频 | 四虎成人精品 | 欧美成人免费观看的 | 91在线手机精品免费观看 | 国产欧美精品一区aⅴ影院 国产欧美精品一区二区 | 久久国产精品麻豆映画 | 国语自产偷拍精品视频偷最新 | 免费一级欧美片片线观看 | 亚洲精品乱码久久久久蜜桃 | 一级毛片看一个 | 天天射网站 | 欧美另类亚洲一区二区 | 国产精品三 | 国产在线精品香蕉综合网一区 | 亚洲综合激情视频 | 欧美成人aaa大片 | 亚洲欧美日韩中文综合在线不卡 | 四虎永久在线免费观看 | 毛片小视频 | 国产福利视频一区美女 | 国产一级一级一级成人毛片 | 免费看成人播放毛片 | 可以免费观看一级毛片黄a 可以直接看的毛片 | 亚洲欧美日韩国产专区一区 | 久久综合伊人 | 东北老妇露脸xxxxx | 日本又黄又爽又色的免费视频 | 欧美日韩看片 | 国产一级理论免费版 | 亚洲国产欧美自拍 | 四虎色 | 五月国产综合视频在线观看 | 国产精品三 | 久久亚洲精品一区成人 | 国产日韩欧美精品一区二区三区 | 成人精品一区二区久久久 | 五月天激情视频在线观看 | 免费精品国产福利片 | 综合视频网 | 亚洲精品一区二区手机在线 | 日本一级α一片免费视频 |