常见算法题描述中的循环、递归、遍历与迭代之区别

2/11/2022 LeetCodeAlgorithm

首先,循环(loop)、递归(recursion)、遍历(traversal)、迭代(iterate)等四者基本都是表达重复之意,但它们却有些细微的区别:

  • 循环是最基础的概念,指所有具有重复性的行为,也就是说,递归、遍历、迭代本质上都是循环!

  • 递归主要是强调在函数内部调用自身以实现循环。

  • 迭代一般指在函数内某段代码实现循环(例如:while、for 等代码段),而它与普通循环的主要区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果将作为下一次循环计算的初始值。有时,按一定顺序访问线性结构中每一项的行为也可被称为迭代

  • 遍历一般指按一定规则访问非线性结构中的每一项