Advertisement

Java数据结构使用广度优先搜索找出无向图中的连通分量

阅读量:

分析:

当所讨论的无向图呈现非连通状态时,从图中某一顶点出发无法抵达图中全部顶点,仅能访问与该顶点处于同一连通分量内的所有顶点。因此,若从无向图中每个连通分量所含顶点中任选一个作为起点进行遍历操作,则能够获取该无向图中所有的连通分量。

如图所示,这是一张非连通的无向图,我们只需对第一个以及第二个连通分量进行遍历操作,首先需要对基础构想有一个初步了解。

将1-2-...n这一结构作为基础,我们可以进一步拓展这一思路,从而探讨如何在多个非连通图中实现类似的操作。

我们选择使用广度优先搜索算法来完成该功能的实现。

广度优先遍历搜索(BFS):

广度优先遍历作为一种盲目的搜索策略,其核心目标在于有条不紊地展开并检测图中的每一个节点,以实现目标的定位。换言之,该方法并不预先评估目标可能出现的位置,而是对整个图进行彻底的扫描,直至找到所需的结果为止。

给定一个图G=(V,E)以及一个起始顶点s,宽度优先搜索采用系统化的方式探索图中的边,从而“发现”所有从s可达的顶点,并计算s到这些顶点的最短距离(即边数最少的路径)。该算法能够构建出一棵以s为根节点、包含所有可到达顶点的

全部评论 (0)

还没有任何评论哟~