我想检查我的单向图是否是树。树是一个非循环和连通图。我有一个功能,检查图表是否已连接。如果连接图并且| E | = | V | -1?
,那么它就足够成为树答案 0 :(得分:4)
您是对的,E = V - 1
足以检查您的图表是否为树。
逻辑是,每棵树都只以一个根音符V=1
,E=0
开始,所以E=V-1
),并且从那里开始,每次我们添加一个节点({{1 }}),我们还必须添加一个边(V=V+1
)。这使得等式E=E+1
对于所有树都保持为真。
当我们使用新边(E=V-1
但E=E+1
保持不变)连接两个现有节点时会发生循环,使等式V
呈现为假。
如果您感兴趣,可能需要了解更通用的公式E=V-1
,其中v - e + f = 2
是图表中区域的数量,包括外部区域。 (树只有一个外部区域f
)。此规则称为Euler公式,您可以阅读on Wikipedia。
答案 1 :(得分:2)
已连接:
这意味着对于您选择的每对顶点,它们之间始终存在路径。
| E | = | V | -1:
如果您的图表有| V |顶点和你给你| E | = | V | -1边连接它们,然后如果你形成一个循环,你将无法形成一个连接图(一些顶点将保持没有边)。
我们可以得出结论,这些条件已经足够了。