生成树的定义

时间:2019-04-03 13:25:33

标签: python networkx graph-theory spanning-tree

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

从,我在线阅读的内容。生成树是图的子集,它包含图的顶点数量相同,但是边的数量最少。图还可以有许多不同的生成树。

我看过一些生成树及其图的图示,所以我尝试提出自己的例子。

house graph

因此,此图像显示了一个房屋形状的图形。如果要去除该房屋图中的一条边,那将是一棵生成树,因为存在从另一节点到另一节点的替代路径。

如果我确保两个节点之间仍然存在路径,我也有可能摆脱两个边缘。

我在这个假设中正确吗?

1 个答案:

答案 0 :(得分:0)

否,您的假设不正确,因为您必须删除2条边才能生成生成树。删除一条边线将不起作用。
您的图片的房屋图有5个顶点和6个边。
具有def count(self): k =[" l", " l", " l"," l"," l"," l"," l"," l"," l"," l"] for x in range(9,0,-1): self.test_var.set(k[x]*x) 顶点的树具有n边,因此具有5个顶点的树需要具有4个边。

生成树不是一个棘手的对象,它实际上是它的名字。 n-1因为它覆盖了所有顶点,而spanning因为它是一棵树。

如果要删除单个边,则图形中仍然会有一个循环,因此它不能是树(根据定义,它是一个连接的无环图)。

这是一件事,当您要构建图的生成树时很容易发现,这是要删除(或保留)的边数。公式tree始终保存在树中。
我建议您查看一棵树的全部the definitions and characterisations,记住多个树总是有用的,尤其是在树木方面。