对递归的更深理解
4月20日上午,对递归的更深入理解:
递归的两个关键:
1、return语句的位置
包含两个关键:
<1>、在终止条件处的return
<2>、正常情况下的return
2、 什么时候开始进行递归(函数的自调用)
4月21日上午,对递归的进一步理解:注意递归函数的参数问题
递归的一个需要注意的细节是:后面所做的动作是 绝对不能影响到 前面的层次
1、注意递归函数的参数问题
例如:
int factial(int j)
{
return j<2?1:j*factial(j-1);
}
这里:factial(j-1)绝对不能换为factial(--j),因为,下一层的调用影响了本层的使用。
2、不使用参数照样可以改变前层的递归--一般是存在递归函数共同使用的数据结构时:
详细请看:http://hi.baidu.com/omycle/blog/item/d8ca0222566800a14723e860.html
评论
发表评论