題目:
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完全問題。