java之門二

http://算法

今天我想寫一點關於遞歸的思想,就是我我的對遞歸的瞭解。首先從一個故事講起:從前一座山山裏有個和尚在講故事講什麼故事呢?從前有座山山裏有個和尚再講故事........ide

一: 遞歸算法解決問題的特色: 函數

 

  (1) 遞歸就是在過程或函數裏調用自身(自力更生解決問題吧!)。spa

 

  (2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱爲遞歸出口(好了咋就出來別捨不得哈哈)。設計

 

  (3) 遞歸算法解題一般顯得很簡潔,但遞歸算法解題的運行效率較低。因此通常不提倡用遞歸算法設計程序(好是好東西就是太浪費內存了)。遞歸

 

  (4) 在遞歸調用的過程中系統爲每一層的返回點、局部量等開闢了棧來存儲。遞歸次數過多容易形成棧溢出等。因此通常不提倡用遞歸算法設計程序。內存

 

n=1 step5
n=2 step4
n=3 step3
n=4 step2
n=5 step1

        public static void main(String[] args) {
  int x =f(5);
  System.out.println(x);
 }
  public static int f(int n){
   if(n==1)
    return 1;
   return n+f(n-1);ci

1 f(1)=1
2 f(1)+2=3
3 3+f(2)=6
4 4+f(3)=40
5 5+f(4)=15

 

                                                             遞歸過程get

相關文章
相關標籤/搜索