递归函数调用调用本身,并通过自己的相应参数,这个计算过程中进行层,直到满足某些条件,只要停止呼叫。
递归函数的特点
1.函数要直接或间接调用自身。
2.要有递归终止条件检查。即递归终止的条件被满足后。则不再调用自身函数。
3.假设不满足递归终止的条件,则调用涉及递归调用的表达式。在调用函数自身时,有关终止条件的參数要发生变化,并且需向递归终止的方向变化。
举例:
计算5的阶乘?
public class TestWudejiecheng
{
public static void main(String arg[])
{
System.out.println(f(5));
}
//递归函数
public static int f(int n)
{
if(n==1)//终止条件
{
return 1;
}
else
{
return n*f(n-1);
}
}
}
从上面的样例中能够进一步看出递归调用的特点,调用自身函数、有终止条件。同一时候也能从实例中看到递归算法的长处结构清晰。可读性强,并且easy用数学归纳法为了证明该算法的正确性,因此,它被设计算法、调试器会带来一个非常慷慨。
版权声明:本文博主原创文章。博客,未经同意不得转载。