《算法概论》习题8.12

k-生成树问题:
给定K大于等于2
输入:无向图G=(V,E),
输出:G的一个生成树,其中保证树上任意点度不超过k,或告知不存在这样的生成树。 
a:k-生成树问题是一个搜索问题。 
b:k-生成树问题是NP-完全的。(提示:由k=2开始,考虑与Rudrata路径问题的关联)


a.显然 k -SPANNING TREE 问题是可在多项式时间内验证的,因此是搜索问题.

b.

若k = 2,此时的2 -SPANNING TREE 实际上就是一条 Rudrata 路径。因为若k-生成树存在,则该生成树显然是图的一条最长链,该链包含图中的所有节点。取最长链的两端节点,则该链实际为一条Rudrata路径,所以Rudrata路径问题可以规约到k-生成树问题。当k>2时,同理可证Rudrata路径问题可以规约到k-生成树问题。另外,当k ≥ V 时,显然只要一次DFS 就能找出解。

你可能感兴趣的:(NP-完全问题)