码迷,mamicode.com
首页 > 编程语言 > 详细

算法入门———递归

时间:2016-07-31 20:33:18      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

递归:在定义自身的过程中,直接或间接调用自身的一种算法

最简单的递归示例:

阶乘

求n!

分析:

  n!等价于 n(n-1)!

这是一个典型的递归算法题

public int recursion(int n){

  if(n==0){

    return 1;

  }else{

    return n*recursion(n-1);

  }

}

 

/*
  题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
    后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
*/

分析:

其实这就是Fibonacci(斐波拉契)数列的求解问题,当前项等于前两项之和。也是典型的递归算法

 

public int function(int n){

  if(n<=0){

    return 0;

  } else if(n==1 || n=2){

    return 1;

  }else{

    return function(n-2)+function(n-1);

  }

}

 

 

至此递归的两个经典算法题就算解决!

 

大部分算法题都是源于数学!

 

算法入门———递归

标签:

原文地址:http://www.cnblogs.com/xiawenyu/p/5723673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!