ACM总结二十一

图的遍历
一、深度优先与广度优先遍历
  从图中某一顶点出发系统地访问图中所有顶点,使每个顶点恰好被访问一次,这种运算操作被称为图的遍历。为了避免重复访问某个顶点,可以设一个标志数组visited[i],未访问时值为false,访问一次后就改为true。
  图的遍历分为深度优先遍历和广度优先遍历两种方法,两者的时间效率都是O(n*n)。

1.深度优先遍历
  深度优先遍历与深搜DFS相似,从一个点A出发,将这个点标为已访问visited[i]:=true;,然后再访问所有与之相连,且未被访问过的点。当A的所有邻接点都被访问过后,再退回到A的上一个点(假设是B),再从B的另一个未被访问的邻接点出发,继续遍历。
 
  
2.广度优先遍历
  广度优先遍历并不常用,从编程复杂度的角度考虑,通常采用的是深度优先遍历。  广度优先遍历和广搜BFS相似,因此使用广度优先遍历一张图并不需要掌握什么新的知识,在原有的广度优先搜索的基础上,做一点小小的修改,就成了广度优先遍历算法。

猜你喜欢

转载自blog.csdn.net/qq_43515378/article/details/90454696