1. 程式人生 > 其它 >資料結構與演算法---遞迴實現

資料結構與演算法---遞迴實現

遞迴應用場景

看個實際應用場景,迷宮問題(回溯), 遞迴(Recursion)

 

遞迴的概念

簡單的說: 遞迴就是方法自己呼叫自己,每次呼叫時傳入不同的變數.遞迴有助於程式設計者解決複雜的問題,同時可以讓程式碼變得簡潔。

遞迴呼叫機制

我列舉兩個小案例,來幫助大家理解遞迴,部分學員已經學習過遞迴了,這裡在給大家回顧一下遞迴呼叫機制

  1. 列印問題
  2. 階乘問題
  3. 使用圖解方式說明了遞迴的呼叫機制

 

  1. 程式碼演示

 

package com.xuge.recursion;

/**
 * author: yjx
 * Date :2022/5/2913:07
 **/
public class RecursionTest {
  public static void main(String[] args) {
// TODO Auto-generated method stub
//通過列印問題,回顧遞迴呼叫機制
//test(4);


    int res = factorial(3); System.out.println("res=" + res);
  }
//列印問題.


  public static void test(int n) { if (n > 2) {
    test(n - 1);
  } //else {
    System.out.println("n=" + n);
// }
  }
  //階乘問題
  public static int factorial(int n) { if (n == 1) {
    return 1;
  } else {
    return factorial(n - 1) * n; // 1 * 2 * 3
  }
  }
}