图解迭代、遍历、枚举、递归、循环

计算机科学领域有几个概念,乍一听很相似,但实际上差别非常大,它们是:迭代、遍历、枚举、递归、循环。
这些概念,对于写码为生的人而言,大部分都应该不陌生。但如果让谁确切地说出它们的含义,恐怕还真没有几个能够全都说对的。时间关系,本文就简单地对这些概念做一番梳理,供大家参考。

1. 迭代(iteration)

在这里插入图片描述

迭代,是一个重复的过程,目的是为了输出一系列值(可能是无穷序列)。每次重复的过程也叫一次“迭代”,一次迭代的结果,可以作为下一次迭代的起点。

2.遍历

在这里插入图片描述
遍历,一般是指树形数据结构的操作,比如树遍历,也叫作树搜索,就是对树形数据结构每个节点进行访问(为了检查和/或更新),且每个节点只能访问一次,这种遍历是按照访问节点的顺序分类的,比如深度优先或宽度优先。

3、枚举

在这里插入图片描述
在编程语言中,有一种数据类型叫做可枚举数据类型,由一组有名字的值构成,每个值成为该类型数据的一个元素、成员、可枚举项。

4、递归

在这里插入图片描述
递归是一种解决问题的方法,解决方案取决于对相同问题更小实例的解决方案。递归方法可用于解决很多问题,是计算机科学的核心思想。

5、循环

在这里插入图片描述
循环指的是一组语句只能写一次,但后续会多次执行,循环“内部”(循环体内)的代码可以执行指定的次数,可以对某个集合中的每一项都执行一次,也可以执行无穷次。