树的最小顶点覆盖
最小顶点覆盖问题是算法设计中一个非常著名的NP完全问题,下面给出顶点覆盖问题的描述:
给定一个无向图:G=(V, E)和一个正整数k,判定是否存在一个顶点子集,其中=k,使得对于任意有u∈V' 或 v ∈V' 。如果存在这样的V',就称顶点子集V'为图G的一个大小为k的顶点覆盖。如下图所示,红色圆圈表示其所在无向图的一个顶点覆盖。
第一个图:k=3 第二个图:k=4
最小顶点覆盖问题实质上就是求最小k(用k'表示最小k值)的问题,用一句话来概括最小顶点覆盖问题就是:找出给定图G中覆盖每条边的最小顶点子集。如下图所示,红色圆圈表示其所在图的一个最小顶点覆盖。
第一个图:k'=2 第二个图:k'=3
作为图的一种特殊形式的树,实际上可以用贪心算法找到其最小顶点覆盖。