递归算法介绍及Java应用实战
生活随笔
收集整理的這篇文章主要介紹了
递归算法介绍及Java应用实战
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載自?遞歸算法介紹及Java應用實戰
什么是遞歸算法
遞歸算法是把問題轉化為規模縮小了的同類問題的子問題,然后遞歸調用函數(或過程)來表示問題的解。一個過程(或函數)直接或間接調用自己本身,這種過程(或函數)叫遞歸過程(或函數)。
遞歸過程一般通過函數或子過程來實現。遞歸方法:在函數或子過程的內部,直接或者間接地調用自己的算法。遞歸其實就是在棧內存中不斷的加載同一個函數
什么時候用遞歸呢?
當一個功能被重復使用,而每一次使用該功能時的參數不確定,都由上次的功能元素結果來確定。
遞歸的注意事項
必須有可最終達到的終止條件,否則程序將陷入無窮循環出現棧內存溢出錯誤(StackOverflowError);
子問題在規模上比原問題小,或更接近終止條件;
子問題可通過再次遞歸調用求解或因滿足終止條件而直接求解;
子問題的解應能組合為整個問題的解。
遞歸實戰
下面用遞歸來實現從1+2+3+...N的小例子。
public static void main(String[] args) {System.out.println(sum(10)); }private static int sum(int n) {if (n == 1) {return n;} else {return n + sum(n - 1);} }上面的例子采用遞歸算法從1加到10,看著是倒著來的從10加到1,每次減1進行相加真到最后為1終止。
?
總結
以上是生活随笔為你收集整理的递归算法介绍及Java应用实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 石花膏的做法 怎么做石花膏
- 下一篇: java美元兑换,(Java实现) 美元