Java-递归算法思想
生活随笔
收集整理的這篇文章主要介紹了
Java-递归算法思想
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
遞歸算法設計的基本思想:
?對于一個復雜的問題,把原問題分解為若干個相對簡單類同的子問題,繼續(xù)下去直到子問題簡單到能夠直接求解,也就是說到了遞推的出口,這樣原問題就有遞推得解。
在做遞歸算法的時候,一定要把握住出口,也就是做遞歸算法必須要有一個明確的遞歸結束條件。這一點是非常重要的。其實這個出口是非常好理解的,就是一個條件,當滿足了這個條件的時候我們就不再遞歸了。
(1)遞歸出口(結束條件)
(2)地推逐步向出口逼近(遞推公式)
例子:
Fibonacci(斐波那契)數列:1,1,2,3,5,8,13……
要求:找出數列中指定index位置的數值
package XiaoMi;public class test10 {/*** @param args* 遞歸算法*/public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(func(7));}public static int func(int n){int result =0;/*if(n==1){ //遞歸遍歷結束條件,即出口return result =1;}else{result =func(n-1) * n; //逐步逼近return result;}*/if(n==1){result =1;}else if(n==2){result =1;}else{result =func(n-1)+func(n-2);}return result;}} 運行結果:
13
總結
以上是生活随笔為你收集整理的Java-递归算法思想的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中在一个字符串的固定位置插入字符
- 下一篇: java美元兑换,(Java实现) 美元