递归之探索

学习完了算法,对其中的递归研究了一下,有些心得列举如下,尚有许多不足之处留待改进。

1、每个递归函数都必须有非递归定义的初始值,这个值通常作为参数传递。若出现其它类似计数的值,则该值为全局变量。
2、若操作数是基本数据类型,一般采用递减式递归,最终减至初始值;若操作数是数组,一般采用递增式递归,使下标从0增加到length-1。
3、结束条件可以有多个,按顺序列在递归语句前面。
4、一般递归函数都是用return返回一个值,否则将采用循环结构递归。

学习递归比较特殊,要从逻辑上进行分析,但是绝对不要去追踪实际的操作过程。

递归要点:
1、每一级的函数调用都有自己的变量。
2、每一次函数调用都会有一次返回。当程序流执行到某一级递归的结尾处时,它会转移到前一级递归继续执行。
3、递归函数中,位于递归调用前的语句和各级被调函数具有相同的执行顺序
4、递归函数中,位于递归调用后的语句的执行顺序和各个被调函数的顺序相反
5、虽然每一级递归都有自己的变量,但是函数代码并不会得到复制。
6、递归函数中必须包含可以终止递归调用的语句。通常情况下,递归函数会使用一个if条件语句或其他类似的语句以便当函数到达某个特定值时结束递归调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值