数据结构——基于C++语言(微课版) 课件 7-深度优先遍历.ppt

数据结构——基于C++语言(微课版) 课件 7-深度优先遍历.ppt

深度优先遍历本节目录:本节内容:图的遍历图的遍历与连通性

图的遍历图的遍历(TraveringGraph):从图的某一顶点出发,访遍图中的其余顶点,且每个顶点仅被访问一次。图的遍历算法是各种图的操作的基础。复杂性:图的任意顶点可能和其余的顶点相邻接,可能在访问了某个顶点后,沿某条路径搜索后又回到原顶点。解决办法:在遍历过程中记下已被访问过的顶点。设置一个辅助数组Visited[n](n为顶点数),其初值为0,一旦访问了顶点vi后,置Visited[i]为1,从而防止它被多次访问。图的遍历算法有深度优先遍历算法和广度优先遍历算法。图的遍历与连通性

深度优先遍历深度优先遍历类似树的先序遍历,是树的先序遍历的推广。算法思想:从某一顶点v出发,依次从v的任一还没有被访问的邻接顶点w出发,直到图中所有与顶点v有路径相通的顶点都被访问为止。算法步骤如下:(1)从图中某个顶点v出发,访问v,并标记已被访问;(2)找到顶点v的第一个邻接顶点w;(3)若顶点w不存在,算法结束;否则继续步骤(4);(4)若顶点w未被访问,则访问w,并标记w已被访问;(5)使w为顶点v的在原来w之后的下一个邻接顶点,转(3)图的遍历与连通性

深度优先遍历图的遍历与连通性深度遍历:V1?V2?V4?V8?V5?V3?V6?V7V1V2V4V5V3

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档