根据实例详细分析Java递归思想

java的递归思想就是自己调用自己,必须满足有达到终止的条件,否则会进入死循环。递归分为直接递归和间接递归。直接递归就是在函数执行过程中调用本身。间接递归:在执行过程中调用其他函数再通过这个函数调用本事。

工具/原料

  • myeclipse

方法/步骤

  1. 1

    简单实例用。典型应用利用递归实现斐波那契数列。斐波那契数列是这样的一个数列0、1、1、2、3、5、8、13、21、……:定义公式为F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)

  2. 2

    根据上一个实例我们通过总结发现,递归首先要有一个运算法则,就是上步斐波那契数列的数学公式,其次要有结束条件使其跳出死循环。

  3. 3

    实现小学的99乘法口诀。首先利用双重for循环来解决。代码如图

  4. 4

    利用递归方法实现小学99乘法口诀,代码及执行结果如图

  5. 5

    简洁明了: 递归算法,一般让人一眼就能看出运算结构,很接近于数学自然语言。特备是在我们的实际项目中,逻辑比较复杂,利用递归可以使逻辑清晰明了,增加代码的易读性。

  6. 6

    内存消耗大:在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。当我们的应用算法中利用内存比较多的时候,不建议用递归算法。

注意事项

  • 递归算法要根据实际情况合理选择,不能盲目应用。
  • 发表于 2018-01-29 00:00
  • 阅读 ( 348 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论