Graph 求有向加权图的所有生成树
到目前为止我已经找到纸了。它过时了吗?是否有更快更好的实现Graph 求有向加权图的所有生成树,graph,directed-graph,spanning-tree,Graph,Directed Graph,Spanning Tree,到目前为止我已经找到纸了。它过时了吗?是否有更快更好的实现 顺便说一句,维基百科说在一个无向图中可能有n^n-2个生成树。一个有向图中可以有多少棵生成树?如果您使用您提到的论文中的术语,并将有向图的生成树定义为根在顶点r上的树,从r到任何其他顶点具有唯一路径,则: 很明显,当有向图的生成树数目最多时,最坏的情况是完全图(任何一对都有a->b和b->a边)。 如果我们“忘记”方向,我们将得到n^{n-2}生成树,就像无向图一样。对于任何一个生成树,我们有n个选项来选择根,这个选项定义了我们需要使用
顺便说一句,维基百科说在一个无向图中可能有n^n-2个生成树。一个有向图中可以有多少棵生成树?如果您使用您提到的论文中的术语,并将有向图的生成树定义为根在顶点r上的树,从r到任何其他顶点具有唯一路径,则: 很明显,当有向图的生成树数目最多时,最坏的情况是完全图(任何一对都有a->b和b->a边)。 如果我们“忘记”方向,我们将得到n^{n-2}生成树,就像无向图一样。对于任何一个生成树,我们有n个选项来选择根,这个选项定义了我们需要使用的边的唯一方向。不难看出,我们得到的所有树都是跨越的、唯一的,没有其他选择。我们得到了n^{n-1}生成树。严格的证明需要时间,我希望简单的解释就足够了
因此,在最坏的情况下,此任务将需要指数时间,取决于顶点计数。考虑到输出的大小(所有生成树),我得出结论,对于任意图,算法不可能明显地更快更好。我认为您需要以某种方式重新表述您的原始问题,以避免处理所有生成树,并且可能只需要根据某些条件进行搜索。仅针对无向图 n^n-2生成树只对完全图是可能的…要找到任何图的生成树的总数,你可以应用这个方法