循环、迭代、遍历和递归
2012-12-17 09:38
309 查看
循环、迭代、遍历和递归 » 为之漫笔
loop、iterate、traversal和recursion这几个词是计算机技术书中经常会出现的几个词汇。众所周知,这几个词分别翻译为:循环、迭代、遍历和递归。乍一看,这几个词好像都与重复(repeat)有关,但有的又好像不完全是重复的意思。那么这几个词到底各是什么含义,有什么区别和联系呢?下面就试着解释一下。
循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。
迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。
遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。
递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。
有了以上定义,这几个概念之间的区别其实就比较清楚了。至于它们之间的联系,严格来讲,它们似乎都属于算法的范畴。换句话说,它们只不过是解决问题的不同手段和方式,而本质上则都是计算机编程中达成特定目标的途径。
循环、迭代、遍历和递归
2010年08月9日 原创, 翻译
本想先找本算法和数据结构的书参考一下,但转念一想:不如考考自己的总结和逻辑表达能力。loop、iterate、traversal和recursion这几个词是计算机技术书中经常会出现的几个词汇。众所周知,这几个词分别翻译为:循环、迭代、遍历和递归。乍一看,这几个词好像都与重复(repeat)有关,但有的又好像不完全是重复的意思。那么这几个词到底各是什么含义,有什么区别和联系呢?下面就试着解释一下。
循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。
迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。
遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。
递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。
有了以上定义,这几个概念之间的区别其实就比较清楚了。至于它们之间的联系,严格来讲,它们似乎都属于算法的范畴。换句话说,它们只不过是解决问题的不同手段和方式,而本质上则都是计算机编程中达成特定目标的途径。
相关文章推荐
- 循环、迭代、遍历和递归
- 专业术语之------迭代,循环,遍历,递归的区别
- 专业术语:迭代、循环、遍历与递归的区别
- 循环、迭代、递归、遍历
- 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate)的区别
- 循环、递归、遍历、迭代的区别
- Atitit 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).
- 循环、递归、迭代、遍历
- Atitit 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).
- 编程中,循环、迭代、遍历和递归之间的区别
- javascript递归、循环、迭代、遍历和枚举概念
- 递归 循环 迭代 遍历
- 循环、递归、迭代和遍历的区别
- 【转】循环、迭代、遍历和递归
- 简单辨析:循环、递归、迭代、遍历
- 循环、迭代、遍历和递归
- 二叉树 前序中序后序层序遍历 迭代、递归方法
- 二叉树的遍历(递归与迭代)
- 二叉树三种遍历的递归和迭代解法
- 程序算法艺术与实践:递归策略之递归,循环与迭代