题目:
k生成树问题描述如下:
输入:无向图G=(V,E);
输出:G的一个生成树,其中所有结点的度数都不超过k(如果存在的话);
证明:对于k>=2,有
1)k生成树问题为搜索问题
2)k生成树问题为NPC问题
证明如下:
1)首先要验证所找的生成树是否符合要求,只需要遍历每个点,检查其度数即可,时间复杂度为V+E,为多项式时间复杂度,因此k-生成树问题为NP问题。
2)这个问题可以由Rudrata环路问题归约。当k=2时,所要寻找的生成树其实就是一条经过所有顶点的路径,只不过相比Rudrata路径而言,这个生成树是没有回路的。那么Rudrata环路问题就可以归约为寻找一个2-生成树,在找到这个2-生成树之后,加上一条边使生成树成为一个环路,就是要寻找的Rudrata环路。因此,k-生成树问题为NP完全问题。