【发布时间】:2012-11-24 18:29:53
【问题描述】:
我需要一种算法来在树中找到最大独立集。我想从所有叶子节点开始,然后删除这些叶子节点的直接父节点,然后选择我们删除的父节点的父节点,递归地重复这个过程,直到我们到达根节点。这是在 O(n) 时间内完成的吗?任何答复表示赞赏。谢谢。
谁能指点我一个算法来找到树中的最大支配集。
【问题讨论】:
-
我没听懂你的问题,最大独立集是什么意思?你想要节点具有最大值还是什么?因为您描述的方法将在二叉树中有 2^n 个叶节点。那么,从哪里开始,简单介绍一下tree的实现是不是二叉树?
-
因此,在给定 n 个节点的一般树的情况下,找到最大独立集 (en.wikipedia.org/wiki/Maximal_independent_set)。
-
为了简单起见,只考虑一个完整的二叉树。
-
你想要一个 最大 独立集(最大可能大小之一)还是 最大 独立集(一个没有更多顶点可以被添加)?最大独立集显然是最大的,但更容易找到不一定是最大的最大独立集(所有树都是二分的,所以只取二分的一侧)。
标签: algorithm tree independent-set