版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pt_raspi_fresher/article/details/87647783
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.
第一:
? 定义
从图中的某一顶点出发 , 沿着一些边访遍图中所有的顶点 , 使得每个顶点仅被访问一次 。
? 分类
深度优先搜索 DFS (Depth First Search)
广度优先搜索 BFS (Breadth First Search)
第二:
深度优先遍历
关键 :
整个过程需要一个标记顶点是否被访问过的辅助数组visited[]
? 算法描述
访问起始顶点v
• 当v 还有邻接顶点未访问时
– 深度遍历未访问过的邻接顶点w
• 当v 的所有邻接顶点都被访问时
– 若图中所有顶点均已访问
» 算法结束
– 若图中还有未访问的顶点
» 以未访问顶点作为起始顶点深度遍历
第三:
广度优先遍历
关键 :
整个过程需要一个标记顶点是否被访问过的辅助数组visited[]
? 算法描述
. 1. 访问起始顶点v0
. 2. 依次访问v v 0 0 的各个邻接点v01 ,v02 , … ,v 0x
. 3. 假设最近一次访问的顶点依次为v i1 ,v i2 , … , v iy , 则依次访问v i1 ,v i2 , … , v iy 的未被访问的邻接点
. 4. 重复 3,直到所有顶点均被访问
广度优先遍历是一种层次遍历 , 需要借助队列实现
第四:
图遍历算法的实现
小结:
遍历是图结构的基础算法 , 也是其它图算法的基础.