Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 生成树与生成林_Algorithm_Graph Theory_Depth First Search_Breadth First Search_Spanning Tree - Fatal编程技术网

Algorithm 生成树与生成林

Algorithm 生成树与生成林,algorithm,graph-theory,depth-first-search,breadth-first-search,spanning-tree,Algorithm,Graph Theory,Depth First Search,Breadth First Search,Spanning Tree,从概念上讲,生成树和生成林在图中有什么区别 另外,是否可以通过DFS或BFS遍历来构建跨越林?为什么?怎么做 我理解生成树,但我找不到任何关于生成林的清晰解释。甚至维基百科()也没有给出一个明确的定义。 我的书(数据结构和算法,威利-第六版)也没有关于跨越森林的定义 我想知道,如果我们有一个包含三个连通组件的图,是否可以通过DFS/BFS遍历来构造生成林?当图中只有一个连通组件时,生成树=生成林 但是当图形中有多个连接的组件时。例如,在下图中,我们有3连接的组件: 因此,对于每个组件,我们将有

从概念上讲,生成树生成林在图中有什么区别

另外,是否可以通过DFSBFS遍历来构建跨越林?为什么?怎么做

我理解生成树,但我找不到任何关于生成林的清晰解释。甚至维基百科()也没有给出一个明确的定义。 我的书(数据结构和算法,威利-第六版)也没有关于跨越森林的定义


我想知道,如果我们有一个包含三个连通组件的图,是否可以通过DFS/BFS遍历来构造生成林?

图中只有一个连通组件时,
生成树=生成林

但是当图形中有多个
连接的组件时。例如,在下图中,我们有3
连接的组件

因此,对于每个
组件
,我们将有一个
生成树
,所有3个
生成树
将构成
生成林

我想知道,如果我们有一个图,例如三个连通的 组件中,是否可以通过 DFS/BFS遍历

是的,这是可能的。当只有1个
连接的组件时
,您的
BFS
DFS
将终止访问所有顶点,您将拥有一个
生成树(在这种情况下,它等于生成林)


但是当您有多个
连接的组件时
,如图所示,您只需从未访问的顶点开始另一个
BFS
DFS
。当没有未访问的顶点时,您的算法终止,每个
BFS
DFS
遍历将生成一个
生成树

即使对于完整的图,也可以通过以下算法构建非平凡的生成林:

先决条件

  • 所有顶点都未标记
  • 从1到m枚举边
边缘处理

  • 如果标记了它的两个相邻顶点,则跳过它,因为该边将合并森林的树或在其中一棵树中创建一个循环
  • 否则,请标记其未标记的相邻顶点
算法
按边的枚举顺序处理边


解释:
虽然在构造生成树时添加“桥接”连接组件的边是可行的,但在上述算法中不添加这些边


解释:
如果按照递增长度枚举边,则生成的跨越林的边将是MST的子集,林的树将类似于“盆地”,即,对于创建连接组件的树,边的长度最小,并且随着后面步骤中连接的每条边的增加而增加。

在这种情况下,生成林的属性可以提供对原始图的结构属性的洞察和/或在算法中使用。

很简单,图中每个连接的组件都会生成一棵生成树,所有这些都被称为生成林。@Rishav感谢您的回复。你能在这张图片上举例解释一下吗?我目前没有照片编辑器,但您熟悉连接组件的概念吗?一个连接的组件由所有彼此可以到达的顶点组成。那幅画里有三个。每个组件都用于生成一个生成树。当你获取所有3棵生成树的集合时,它被称为生成林。@NimaSalami可以自由地进行任何查询。