数据结构6——图 广度与深度优先搜索

来源:互联网 发布:淘宝美工的简历 编辑:程序博客网 时间:2024/05/16 17:51

1. 深度优先(DFS)

根遍历的推广:假设初始状态是图中中所有顶点未曾被访问,则深搜送图中某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻接点出发深度优先遍历图,直至图中所有和v的路径相通的顶点都被访问到;此时若图中尚有未被访问的点,则另选图中一个未被访问的顶点作为起始点,重复上述过程,直至被访问完为止。
深搜

分析:在遍历图中,对图中每个顶点至多调用依次DFS,遍历图是对每个顶点查找其邻接点的过程,耗时取决于其存储结构,用邻接矩阵存储时间复杂度为O(n^2),用邻接表为O(n+e),e为变数

2.广度优先(BFS)

从顶点v开始出发,在访问了v顶点之后依次访问v的各个未曾访问的邻接点,然后分别从这些邻接点出发访问他们的依次邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点邻接点”被访问。
这里写图片描述

具体实现代码见:

http://blog.csdn.net/luotuomianyang/article/details/50866722

0 0