我給了一棵樹T
其中有n
節點和l
樹葉。選擇包含完全K葉的子樹
我不得不選擇一些包含k (<=l)
葉子的子樹。如果我選擇節點t
的祖先子樹,我們不能選擇t
的子樹。
例如:
這是有13個節點(7個葉)樹T
。
如果我想選擇k = 4
樹葉,我可以選擇節點4和6(或節點2和5)。這是選擇的最小數量。 (我們可以選擇節點6,7,8,9,但這不是最小值)。
如果我想選擇k = 5
樹葉,我可以選擇節點3,這是選擇的最小數量。
我想選擇最小數量的子樹。我只能找到O(nk^2)
和O(nk)
算法,它使用BFS和動態編程。選擇這個有沒有更好的解決方案?
謝謝:)
你能舉一個簡單的例子嗎?我一直無法理解你如何擁有最少數量的子樹。從我得到的,你總是有固定數量的樹木,有k片葉子。 – Rubens
@Rubens完成。感謝您給予建議:) –
不客氣!而現在你的問題已經足夠緊張,以獲得有趣的解決方案了^^儘管如此,我看不到比O(nk)更好的東西。好的問題,無論如何! – Rubens