簡體   English   中英

給出一種有效的貪心算法,該算法可在線性時間內為樹找到最佳頂點覆蓋

[英]Give an efficient greedy algorithm that finds an optimal vertex cover for a tree in linear time

我正在嘗試解決此問題...下面提到的是一種算法..i知道了..

輸入圖,然后選擇與所有其他節點匹配度最高的頂點。 除去入射在此節點上的邊緣。 將選定的頂點及其邊緣添加到集合X中。返回X

X返回頂點覆蓋所需的最小頂點集,這樣正確嗎? 謝謝

選擇具有最高度的頂點並不能保證給出最佳解決方案。 例如,您有一棵有7個頂點的樹,邊的列出如下:

1 2 // (1,2) is connected.
1 3
1 4
2 5
3 6
4 7

最小頂點覆蓋為{2,3,4},但是,基於貪婪的方法,您將首先選擇{1},然后至少選擇3個頂點來覆蓋左3個邊。

確實,有一種貪婪算法可以解決樹的頂點覆蓋問題,即您在每一步都找到了一片葉子(由於輸入是一棵樹,除非沒有邊緣,否則總是可以找到這樣的葉子),然后選擇葉子的頂點到頂點覆蓋集X。當圖形為空時,將X作為最小頂點覆蓋。 當E = V-1時,復雜度為O(E),因此我們可以說它是線性解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM