本文内图的存储方式是邻接矩阵。
DFS的遍历方法可以类比树的先序遍历。
在实现树的先序遍历时,遍历顺序是 根 子树 下一个子树 ...
而DFS的实现方法是优先深度,与一个树按照先序遍历的顺序相同。
所以在实现DFS之前,需要先学习 寻找第一个邻接点(FirstNeighbor)与 寻找下一个邻接点(NextNeighbor) 如何实现
这个在之前的实现广度优先遍历里有过分享,这里就不再赘述。我们就直奔主题。
BFS的实现
图的深度优先遍历类比树的先序遍历。采取的遍历顺序为 结点 子节点 下一个子节点 ...
我们可以采用递归的方法访问树的子树,那么也可以相同的方法进行图的深度优先遍历(DFS)
不同的是我们需要设立一个 bool 变量 IsData 来进行判断,判断该变量是否被遍历过
利用 for 循环和 if 判断来进行条件的筛选