基本思想
- 从图中的某个顶点V出发访问并记录;
- 依次访问顶点V的邻接顶点w1、w2……wk;
- 分别从这些邻接点出发,依次访问它们的未被访问过的邻接点,直到图中所有已被访问过的顶点的邻接点都被访问到;
- 重复第3步,直到图中所有顶点都被访问完为止。
存储结构
实现方式
邻接表非递归实现
广度优先算法:采用队列(先进先出FIFO)的思想,遍历节点时,被遍历的节点出队列,再遍历其子节点,如下所示
对照上图看队列的变化
邻接表非递归实现
1 | class Node |
结果
1 | a |
邻接矩阵非递归实现
1 | class Graph |
结果
1 | a |