摘自计蒜客:http://www.jisuanke.com/course/35/7315
什么是图的遍历呢?从图的某个顶点出发,沿图中的路径依次访问图中的所有顶点,并且使得图中所有顶点都恰好被访问一次,
这个过程即为图的遍历。需要注意的是,接下来讨论图的遍历时,都是特指在一个连通图上进行遍历。
图的两种最常见的遍历算法:广度优先搜索(BFS)和深度优先搜索(DFS)。
从思路上讲,图的遍历和树或森林的遍历的核心思路很像:都是化繁为简。此前通过对二叉树进行遍历,可以将二叉树转换为
一个线性序列。这就是化繁为简的思路:把树这种非线性结构转化为线性序列。把二叉树的很多问题都转化到线性序列上进行求解。
线性序列是树或森林的一个特例,而树或森林则是图结构的一个特例。防照树的遍历,在对图进行便利的过程中,首先将图这
种复杂的非线性结构,转化为图的一种特例,就是一棵树----生成树(也叫支撑树)。
这样的一棵生成树,具有两个重要的性质:其一,它的根节点便是我们对图进行遍历时的起始顶点;其二,它包含图中的所有
顶点。对于一个图,可能会有很多种合法的生成树。

图1 生成树1

图2 生成树2

图3 生成树3
本文介绍了图的遍历概念及其在连通图上的应用,重点讲解了两种常见的遍历算法——广度优先搜索(BFS)和深度优先搜索(DFS),并探讨了通过遍历将复杂图结构转化为生成树的方法。

被折叠的 条评论
为什么被折叠?



