1. 程式人生 > >證明k-生成樹問題是NP完全問題

證明k-生成樹問題是NP完全問題

k-生成樹是指給定一個無向圖,找到一個生成樹,其中每個節點的度數不超過k。

首先要驗證所找的生成樹是否符合要求,只需要遍歷每個點,檢查其度數即可,時間複雜度為V+E,為多項式時間複雜度,因此k-生成樹問題為NP問題。

這個問題可以由Rudrata環路問題歸約。當k=2時,所要尋找的生成樹其實就是一條經過所有頂點的路徑,只不過相比Rudrata路徑而言,這個生成樹是沒有迴路的。那麼Rudrata環路問題就可以歸約為尋找一個2-生成樹,在找到這個2-生成樹之後,加上一條邊使生成樹成為一個環路,就是要尋找的Rudrata環路。因此,k-生成樹問題為NP完全問題。