[Poi2004] 旅行問題
阿新 • • 發佈:2020-08-12
一言以蔽之,遞迴就是A方法呼叫A方法,即自己呼叫自己
利用遞迴可以把一個大型的問題層層轉化,將其轉化為比較小規模相似的原問題來進行處理
遞迴包含兩部分:
- 遞迴頭:什麼時候不呼叫自身呢,呼叫自身什麼時候停止?如果沒有遞迴頭,將最終陷入死迴圈,遞迴頭就像一個線圈的一個頭
- 遞迴體:什麼時候呼叫自身
階乘
package com.xuyifan.function; /** * @author xyf * @create 2020-08-13-15:07 */ /** * 簡單的遞迴,階乘 */ public class Demo06 { public static void main(String[] args) { Demo06 demo06=new Demo06(); System.out.println(demo06.f(6)); } public int f(int a){ if(a==1){ return 1; }else { return a*f(a-1); } } }
輸出:720
因為JAVA的棧機制,所以能不用遞迴,就別用遞迴,遞迴的空間複雜度和空間複雜度都非常高,只有在呼叫較少的情況下才能用