求一个图论算法
(C语言区也发了)
求赋值树相邻两个分枝权值的最大值
举个例子,构造tree如下:
0 -1 0 -1 0 0 1 3 1 4 2 4 2 2 3 3 3 3
第一个数表示节点,第二个表示权值,以此类推。
0
-1/ |-1 \0
/ | \
1 2 3
3/ \4 4/ \2 3/ \3
对于这个树,满足条件的权值为7,即左下角的branch。
对于节点比较少的情况,我是用BFS把整个tree遍历找到满足条件的branch。不过这个方法比较笨了。
求教各位大侠给个更好的算法,适合大量节点(n < 500000).