计算包含一组特定边的生成树的总数

时间:2010-07-03 20:00:47

标签: algorithm data-structures graph directed-graph

我尝试了以下方法:

首先,我对给定边集中的所有边进行边收缩,以形成修改后的图。

然后我使用矩阵树定理从修改后的图中计算生成树的总数。

我想知道这种方法是否正确以及是否有其他更好的方法。

2 个答案:

答案 0 :(得分:4)

我不知道它是否正确,但你必须要小心边缘收缩可能导致平行边缘的事实。您必须确保仅使用哪个平行边缘而不同的树被视为不同。

答案 1 :(得分:4)

设G是图,让e为边,让G / e为e缩小的相同图。然后,

命题:包含e的G的生成树与G / e的生成树之间存在双射。

这个命题并不难证明;你最好自己理解证据,而不仅仅是问其他人是否属实。显然,如果你有一个包含e的G的生成T树,那么T / e就是G / e的生成树。需要思考的是,你也可以倒退。

而且,正如亚当指出的那样,你必须小心处理具有平行边缘的图形和带有从顶点到自身边缘的图形。