搜索

谁能说说JAVA的递归是什么意思?

gecimao 发表于 2019-05-27 15:56 | 查看: | 回复:

  我自己的理解是它好像是循环反过来的意思,一般循环都是从小的开始,例如int i=1;i10;i++ 执行是从1开始的,而递归则相反。是吗?

  请高手们举个简单的例子说下,越简单越好。看这个递归要分来分去的头都大了。展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。

  【3】递归算法代码显得很简洁,但递归算法解题的运行效率较低。所以不提倡用递归设计程序。

  【4】在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等,所以一般不提倡用递归算法设计程序。

  【5】在做递归算法的时候,一定把握出口,也就是做递归算法必须要有一个明确的递归结束条件。这一点是非常重要的。其实这个出口就是一个条件,当满足了这个条件的时候我们就不再递归了。

  (1)边界条件:阶乘,乘到最后一个数,即1的时候,返回1,程序执行到底;

  (3)递归返回段:从最大的数开始乘,如果当前参数是5,那么就是5*4,即5*(5-1),即n*(n-1)

  展开全部你的理解错了, 递归就是方法自己调用自己,然后再给一个停止的条件。如果没有条件的话方法会一直不定的运行下去,会形成一个死循环。

  递归:就是自己调自己,但是如果没终止条件会造成死循环,所以递归代码里要有结束自调自的条件,这样就创造了有限次的循环(虽然代码中你看不到for或foreach但是有循环发生)

本文链接:http://windsorflowers.net/diguilicheng/241.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部