標籤:自身 public turn 自己 理解 定義 ++ pre 解決問題
1.遞迴演算法
A方法調用B方法,我們很容易理解!遞迴就是:A方法調用A方法!就是自己調用自己,因此我們在設計遞迴演算法時,一定要指明什麼時候自己不調用自己。否則,就是個死迴圈!
1.1遞迴演算法要點
遞迴是一種常見的解決問題的方法,即把問題逐漸簡單化。遞迴的基本思想就是“自己調用自己”,一個使用遞迴技術的方法將會直接或者間接的調用自己。
利用遞迴可以用簡單的程式來解決一些複雜的問題。比如:大多數排序使用的就是遞迴演算法。
1.2遞迴結構
遞迴結構包括兩個部分:
1. 定義遞迴頭。解答:什麼時候不調用自身方法。如果沒有頭,將陷入死迴圈。
2. 遞迴體。解答:什麼時候需要調用自身方法。
2.代碼示意
package com.oliver.test;
public class TestRecursion { static int a = 0; public static void test01(){ a++; System.out.println("遞迴"+a+"次"); if(a<=10){//遞迴頭 test01(); } else{ //遞迴體 System.out.println("遞迴結束!"); } } public static int test02(int n){ //求階乘! if(n==1){ return 1; } else { return n*test02(n-1); } } public static void main(String[] args) { //調用test01 test01(); int value = test02(3); System.out.println("階乘結果為:"+value); }}
3.列印結果
遞迴1次
遞迴2次
遞迴3次
遞迴4次
遞迴5次
遞迴6次
遞迴7次
遞迴8次
遞迴9次
遞迴10次
遞迴11次
遞迴結束!
階乘結果為:6
【Java】Java_19遞迴演算法