資料結構與演算法---遞迴實現
阿新 • • 發佈:2022-05-29
遞迴應用場景
看個實際應用場景,迷宮問題(回溯), 遞迴(Recursion)
遞迴的概念
簡單的說: 遞迴就是方法自己呼叫自己,每次呼叫時傳入不同的變數.遞迴有助於程式設計者解決複雜的問題,同時可以讓程式碼變得簡潔。
遞迴呼叫機制
我列舉兩個小案例,來幫助大家理解遞迴,部分學員已經學習過遞迴了,這裡在給大家回顧一下遞迴呼叫機制
- 列印問題
- 階乘問題
- 使用圖解方式說明了遞迴的呼叫機制
- 程式碼演示
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 } } }