我们有以下算法输入:
一个G
没有循环的图(又名生成树),其中每个节点都有一个相关的权重。
我想找到一个独立的集合S
,这样:
- 没有两个元素
S
形成边G
- 没有其他可能的子集满足上述条件,其权重大于
S[0] + S[1] + ... + S[n-1]
(wherelen(S)==n
)。
这是我到目前为止的高级伪代码:
MaxWeightNodes(SpanningTree S):
output = {0}
While(length(S)):
o = max(node in S)
output = output (union) o
S = S \ (o + adjacentNodes(o))
End While
Return output
有人可以告诉我我是否犯了任何错误,或者这个算法是否会给我想要的结果?