Pra*_*kar 3 algorithm tree graph-theory greedy
给定树的根,其中每个边具有相关的成本.找到访问树的每个节点的最低成本.
我想到的一个递归解决方案是:
这种方法是否正确?
有没有更好的方法来解决这个问题?
edges * 2属于该子树的所有子树.答案应该是:
sum(cost(edge)*2) - sum(edge which in the path)
Run Code Online (Sandbox Code Playgroud)
我检查了你的解决方案,我认为这是错误的(如果我误解了你的解决方案,请发表评论):
减去具有最高成本的孩子的边缘成本.("贪婪" - 我们>不想从具有最高成本的孩子回溯).
那个孩子将是一棵树,一些边缘必须访问两次.例如:
A
/ \
B C
/ \
D E
Run Code Online (Sandbox Code Playgroud)
您无法访问该子树所有边一次访问所有节点.