码迷,mamicode.com
首页 > 其他好文 > 详细

对于树的直径的理解

时间:2015-04-25 18:24:14      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

定义:n个节点的树,任选一个节点V0,找到距离它最远的节点V1,再找距离V1最远的节点V2,edge(V1,V2) 即为树的直径.

理解:edge(V0,V1)一定会经过root(不理解的话你画个图试试~),则edge(root,V1)即为距离root最长,或次长的边.

因此,再从V1出发,找距离V1最远的节点V2,edge(V1,V2)必定通过root,所以可以看成是找距离root最远的节点V2(不能回头搜索V1),

所以树的直径为:edge(V1,root)+edge(root,V2)  且V1,V2必定为叶子,如果不是叶子,那它必定还能向下搜索,从而存在更长的边.

典型题目:大臣的旅费

对于树的直径的理解

标签:

原文地址:http://blog.csdn.net/lc0817/article/details/45271663

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!