递归和迭代的区别

来源:互联网 发布:杜特软件下载 编辑:程序博客网 时间:2024/06/05 23:55

今天看论文《FERN》,里面讲到关于DNS实现名字解析的原理,在DNS构成的树结构中,利用迭代实现名字解析;而一些未来网络的名字解析系统使用的基于树结构的递归解析,主要是找到最高的共同祖先。故想要了解一下迭代和递归调用的区别。

联想到递归调用的图
递归需要满足两个条件:

#1 自身调用
#2 递归结束条件: 一个是一层一层调用到最后达到预设条件后会再一层一层返回到顶端得到最终结果,递归调用需要一个很明确的递归结束的条件

迭代:重复调用同一个函数,满足循环终止条件即可

迭代和递归的主要区别
即为循环结束的位置。
递归:一层递归结束后需返回上一层的递归调用
循环:循环结束后,程序的调用的入口位置不变

原创粉丝点击