是否所有的循环函数都可用递归来实现呢?
网友解答: 先说一下个人理解-是的,所有的循环函数都可以用递归来实现。至少,我目前是这么认为的。所谓递归是是直接或间接调用函数本身,则访函数称为递归函数我们学习的时候接触的比较多的是一种
先说一下个人理解-是的,所有的循环函数都可以用递归来实现。至少,我目前是这么认为的。
所谓递归是是直接或间接调用函数本身,则访函数称为递归函数我们学习的时候接触的比较多的是一种叫斐波那契数列,在这里我们以1到100的求和为例,第一种是通过循环实现的,第二种则通过递归实现。
图1,求和实现的方法
图2,递归实现的方法
从上面对比看出,两者都可以实现相应的目的,但是递归函数给人的感觉人精简些,没错,递归函数的优点在于简单、逻辑清晰,正因为,逻辑清晰,我们有的时候比较难于一下子理解透。
所以,在我看来循环函数是可以都用递归函数实现,只要你逻辑够强。当然需要注意的是,递归是一种栈的调用,需要防止栈溢出,栈的大小不是无限的。