[英]Find minimum cost to visit all nodes of a tree
給定樹的根,其中每個邊具有相關的成本。 找到訪問樹的每個節點的最低成本。
我想到的一個遞歸解決方案是:
這種方法是否正確?
有沒有更好的方法來解決這個問題?
edges * 2
。 答案應該是:
sum(cost(edge)*2) - sum(edge which in the path)
我檢查了你的解決方案,我認為這是錯誤的(如果我誤解了你的解決方案,請發表評論):
減去具有最高成本的孩子的邊緣成本。(“貪婪” - 我們>不想從具有最高成本的孩子回溯 )。
那個孩子將是一棵樹,一些邊緣必須訪問兩次。 例如:
A
/ \
B C
/ \
D E
您無法訪問該子樹所有邊緣一次訪問所有節點。
1-除最后一個葉節點外,將訪問所有節點路徑兩次。
2-我們需要找出哪個葉子節點附加了最高成本才能訪問根節點。
3-一旦我們發現這一點,我們將需要進行遍歷,使得該葉節點是最后訪問的節點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.