Java的递归算法

Java的递归算法1、定义程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。

大家好,欢迎来到IT知识分享网。

1、定义

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

2、递归算法四个特性:

(1)递归就是方法里调用自身,在策略上,必须有一个明确的递归结束条件,称为递归出口;

(2)子问题在规模上比原问题小,或更接近终止条件;

(3)子问题可通过再次递归调用求解或因满足终止条件而直接求解;

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

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

3、递归在实际中的应用。

(1)递归运用:1:加和计算

Java的递归算法

(2)递归运用:2:阶乘计算

Java的递归算法

(3)递归运用之3:删除文件夹内所有的内容

Java的递归算法

运行结果

Java的递归算法

=============

csdn论坛:http://blog.csdn.net/yjc_1111/article/details/

=============

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/53009.html

(0)
上一篇 2024-08-09 14:45
下一篇 2024-08-09 18:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信