算法證明題8.12 k生成樹問題爲搜索問題和NPC問題

題目:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章