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

相关文章
相关标签/搜索