java的递归思想就是自己调用自己,必须满足有达到终止的条件,否则会进入死循环。递归分为直接递归和间接递归。直接递归就是在函数执行过程中调用本身。间接递归:在执行过程中调用其他函数再通过这个函数调用本事。
简单实例用。典型应用利用递归实现斐波那契数列。斐波那契数列是这样的一个数列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*)
根据上一个实例我们通过总结发现,递归首先要有一个运算法则,就是上步斐波那契数列的数学公式,其次要有结束条件使其跳出死循环。
实现小学的99乘法口诀。首先利用双重for循环来解决。代码如图
利用递归方法实现小学99乘法口诀,代码及执行结果如图
简洁明了: 递归算法,一般让人一眼就能看出运算结构,很接近于数学自然语言。特备是在我们的实际项目中,逻辑比较复杂,利用递归可以使逻辑清晰明了,增加代码的易读性。
内存消耗大:在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。当我们的应用算法中利用内存比较多的时候,不建议用递归算法。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!