算法 第八章习题 8.12

习题8.12
题目:
输入:无向图G=(V,E),
输出:G的一个生成树,其中所有点度数不超过k——如果这样的树存在。 
给定K大于等于2。

a:k-生成树问题是一个搜索问题。 
b:k-生成树问题是NP-完全的。(提示:由k=2开始,考虑与Rudrata路径问题的关联)

solution:
a:搜索问题的特征性定义是:任何可能解的正确性都能被快速检验。则用图搜索算法对A进行搜索,就能验证任意给定解A是否是k生成树。若A是生成树,则A中所有顶点、不包含环、且每个点度数不超过k。因此这样来看我们使用图搜索的算法就能在多项式时间内解决,所以k-生成树问题是一个搜索问题。

b:由(a)可知,k-生成树也是一个NP问题。所以要证它是一个NP-完全问题,可以使用归约证明,将Rudrata路径问题归约到k-生成树问题。
当k=2时,若存在k-生成树,则该生成树是图的一条最长链,该连包含图中所有节点。取最长链的两端节点,该链实际为一条Rudrata路径,因此Rudrata路径问题可以规约到K-生成树问题。
而当k>2时,只要找到一棵2-生成树,就已经找到了k-生成树。所以对每个图寻找Rudrata路径问题都可以通过寻找k-生成树的算法来解决。也就是说Rudrata路径问题可以归约为k-生成树问题。
因此,综上可知k-生成树问题是NP-完全的。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值