Independent Set Problem
问题描述:
给定一个无回路的无向图(即树),设计一个动态规划算法,求出该图的最大独立集,并输出该集合中的各个顶点值。
❗算法描述❗:
首先,要把问题中的 图 转化为 树 来解决,如下图所示。
这就又牵扯到 树 的相关知识:
树的表示等等(上学期学的数据结构中的,相似的情景,对,上一周刚复习了图……)
① 定义子问题:
定义 I(u) = u 下悬挂子树的最大独立集规模。
我们的最终目标是 I(root)。
②写出递推式:
I(u) = max(I (w), 1 +
I(w) )
base case:I(u) = 1, if u == leaf nodes。
③子问题的求解顺序:
BFS搜索。