1. 程式人生 > >Java:什麼是遞迴?

Java:什麼是遞迴?

  • 遞迴:在一個方法內部對自身進行呼叫。
  • 利用遞迴可以用簡單的程式來解決一些複雜的問題。比如:裴波那契數列的計算、漢諾塔、快排等問題。
  • 遞迴結構包括兩個部分:
    1、定義遞迴頭。解答:什麼時候不呼叫自身方法。如果沒有頭,將陷入死迴圈,也就是遞迴的結束條件。
    2、遞迴體。解答:什麼時候需要呼叫自身方法。
    這裡寫圖片描述
    執行結果 return 5*4*3*2*1
  • 為了更深刻的理解舉一個小例子
    這裡寫圖片描述
  • 遞迴的缺陷
    簡單的程式是遞迴的優點之一。但是遞迴呼叫會佔用大量的系統堆疊,記憶體耗用多,在遞迴呼叫層次多是速度要比迴圈慢的多,所以在使用遞迴時要慎重。