IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

循环、迭代、遍历和递归

为之漫笔 2011-01-27 23:01:13 累计浏览 5,564 次
本机暂存

本想先找本算法和数据结构的书参考一下,但转念一想:不如考考自己的总结和逻辑表达能力。

loop、iterate、traversal和recursion这几个词是计算机技术书中经常会出现的几个词汇。众所周知,这几个词分别翻译为:循环、迭代、遍历和递归。乍一看,这几个词好像都与重复(repeat)有关,但有的又好像不完全是重复的意思。那么这几个词到底各是什么含义,有什么区别和联系呢?下面就试着解释一下。

  • 循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。
  • 迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。
  • 遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。
  • 递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。

有了以上定义,这几个概念之间的区别其实就比较清楚了。至于它们之间的联系,严格来讲,它们似乎都属于算法的范畴。换句话说,它们只不过是解决问题的不同手段和方式,而本质上则都是计算机编程中达成特定目标的途径。

同分类推荐文章

  1. 对基本有序的序列排序算法 (2026-06-11 17:46:49)
  2. Four Levels Of Customer Understanding (2026-05-22 21:00:00)
  3. 除法的意义 (2026-04-12 20:52:17)

查看更多 算法 文章 →

建议继续学习

  1. python编程细节──遍历dict的两种方法比较 (累计阅读 20,370)
  2. 为什么你写不好一个快速排序? 谈程序员的职业发展 (累计阅读 14,464)
  3. PHP与递归Recursion (累计阅读 9,246)
  4. 递归并不一定非得是“自己调用自己的function” (累计阅读 4,327)
  5. 趣题:证明所有乘积的总和与分拆的方式无关 (累计阅读 3,235)
  6. Perl6有用的和有意思的循环 (累计阅读 2,738)
  7. 生成函数的妙用:平均抛掷多少次硬币才会出现连续两个正面? (累计阅读 2,103)
  8. 奇淫技巧和西天取经 (累计阅读 1,706)