【发布时间】:2014-10-09 00:51:29
【问题描述】:
树上的顶点覆盖问题如下。
输入:无环简单无向图 G
输出:一组顶点 W,使得对于每条边 uv,u ∈ W 或 v ∈ W. 我们希望最小化 W 的大小。
我的贪心算法是初始化W = ∅,然后,当G不为空时,重复以下步骤。令 L 为 G 的叶顶点。令 N(L) 为与 L 中某个顶点相邻的顶点集。更新 W = W ∪ N(L)。从 G 中删除顶点 L ∪ N(L) 及其入射边。
这个算法适用于我迄今为止尝试过的所有情况。我该如何证明它是正确的?这是我目前所拥有的。
假设有另一个集合 S 是最优解。相反,我想确定 S 没有覆盖所有边缘,或者 S 与我的贪心算法产生的集合相同。
【问题讨论】:
标签: algorithm greedy vertex-cover