数据结构基础之图的遍历

来源:互联网 发布:现代战争6网络出错 编辑:程序博客网 时间:2024/05/14 12:33

从图中的某一点出发访问遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历。
1, 深度优先遍历
DFS,深度优先搜索其实是一个递归的过程,如果我们进一步思考,对将要搜索的图拟定一个规则,如在没有碰到重复顶点的情况下,始终是向右手边走。将这图展开就像是一棵树,而对其的遍历就是前序遍历。它从图中某个顶点v出发,访问此顶点,然后从v未被访问的邻接点出发深度优先遍历图,直至图中所有和v有路径相通的顶点都被访问到。若图中还有顶点没被访问,则另选图中一个未曾被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问为止。
2, 广度优先遍历
类似于树的按层次遍历过程,它从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使先被访问的顶点的邻接点先于后被访问的顶点的邻接点被访问。直至图中所有已被访问的顶点的邻接点都被访问到,若图中还有顶点没被访问,则另选图中一个未曾被访问的顶点作起始点,重复上述过程,直至图中所有顶点都被访问为止。
3, 总结
遍历图的过程实际是通过边或弧找邻接点的过程,因此广度优先与深度优先遍历图的时间复杂度是相同的。两者不同之处在于对顶点访问的顺序不同。

0 0
原创粉丝点击