图的遍历可分为广度优先遍历和深度优先遍历
广度优先遍历:先访问一个顶点,然后访问顶点的邻居顶点;
实现:每当一个顶点被访问后,就将其放入队列中,当对头顶点出列时,访问其未被访问的邻接点并令这些邻接顶点入队。
图示例:
图的遍历:
frontVertex |
nextNeighhor |
已访问的顶点 |
vertexQueue |
traversalorder |
|
|
A |
A |
A |
A |
|
|
空 |
|
|
B |
B |
B |
AB |
|
D |
D |
BD |
ABD |
|
E |
E |
BDE |
ABDE |
B |
|
|
DE |
|
D |
|
|
E |
|
|
G |
G |
EG |
ABDEG |