递归
定义:自己调用自己
递归就是缩小问题规模,也要考虑到边界条件,还有返回段。
分析下面程序递归的过程:
int Age(int n)//O(n),O(n)
{
int tmp;
if(n == 1)
tmp = 10;
else
tmp = Age(n-1) + 2;
return tmp;
}
递归过程中入栈过程如下:
出栈过程如下所示:
这样,递归的整个过程就很清晰了
递归
定义:自己调用自己
递归就是缩小问题规模,也要考虑到边界条件,还有返回段。
分析下面程序递归的过程:
int Age(int n)//O(n),O(n)
{
int tmp;
if(n == 1)
tmp = 10;
else
tmp = Age(n-1) + 2;
return tmp;
}
递归过程中入栈过程如下:
出栈过程如下所示:
这样,递归的整个过程就很清晰了