生成树的定义

Definition of a spanning tree

我想检查一下我对生成树(无向图和连通图)的理解是否正确。

来自,我在网上看到的。生成树是图的一个子集,它包含相同数量的图顶点,但它具有最小数量的边。一个图也可以有很多不同的生成树。

我看过一些生成树及其图表的插图,所以我试着想出我自己的例子。

house graph

所以这张图片显示了一个房子形状的图形。如果我要去掉那个房子图中的一条边,这将是一棵生成树,因为存在从一个节点到另一个节点的替代路径。

如果我确保两个节点之间仍然存在一条路径,我也可能会去掉两条边。

我这个假设正确吗?

不,您的这个假设不正确,因为您必须删除 2 条边才能构建生成树。删除一条边将不起作用。
你画的房子图有5个顶点,6条边。
具有 n 个顶点的树有 n-1 条边,因此具有 5 个顶点的树需要有 4 条边。

生成树不是一个棘手的对象,它名副其实。 spanning因为它覆盖了所有顶点,tree因为它是一棵树。

如果你要删除一条边,你的图中仍然会有一个环,所以它不可能是一棵树(根据定义,它是一个连通的无环图)。

当你想构建一个图的生成树时,这是很容易发现的一件事,它是要删除(或保留,这是等价的)的边数。公式 #vertices = #edges + 1 总是在树中成立。
我建议你看一棵树的所有 the definitions and characterisations,记住不止一个总是有用的,尤其是当涉及到树时。