树的中心重心直径一些特殊的东西
中心
所有直径的中点。
所以中点可能是一条边。
重心
最大的子树最小的点。
(“子树”都是指无根树的子树,即包括“向上”的那棵子树,并且不包括整棵树自身。)
-
以树的重心为根时,所有子树的大小都不超过整棵树大小的一半。
-
树中所有点到某个点的距离和中,到重心的距离和是最小的;如果有两个重心,那么到它们的距离和一样。
-
把两棵树通过一条边相连得到一棵新的树,那么新的树的重心在连接原来两棵树的重心的路径上。
-
在一棵树上添加或删除一个叶子,那么它的重心最多只移动一条边的距离。
直径
树上任意两节点之间最长的简单路径。
求法为两遍 DFS。
推论:
为树的直径,当且仅当 是 的最远点,且 是 的最远点。
一棵树可以有多条直径,在多条直径之间有以下结论:
任意两条直径必然有公共点,且长这样:
其中 。
进一步
对于任意一点 , 距最远点 距离。
则任意一条直径 ,。
总结
遇最远点/最长距离,考虑直径。
遇直径/距离和,考虑重心/中心。
“研究距离,考虑直径” “研究直径,考虑中心”
本文来自博客园,作者:ShaoJia,版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义