一棵树的直径如何计算? 20

shuangdiudiu
2009-12-10
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
恩,树的枝干粗细,从下至上是不规则的,如果不是要求很精确的话,你可以通过这个办法:选定树干较平整处,水平量出该位置树的周长,再除以3.14,得到的结果便是该树的周长。
(由圆的周长公式:周长=直径×π,π≈3.14所得)
林家栋0
2019-07-28
知道答主
回答量:36
采纳率:100%
帮助的人:1.3万
展开全部
树形dp啊,,
设1号节点为根,"N个点N-1条边的无向图"就可以看做“有根树”
设d[x]表示从节点x出发走向以x为根的子树,能够到达的最远节点的距离。设x的子节点为y1,y2, y3, ..., yt,edge(x, y)表示边权,
显然有 d[x] = max{d[yi] + edge(x, yi)}(1 <= i <= t)
接下来,我们可以考虑对每个节点x求出 经过节点x的最长链的长度 f[x],整棵树的直径就是max{f[x]}(1 <= x <= n)
对于x的任意两个节点yi和yj, 经过节点x的最长链长度 可以通过四个部分构成:
从yi到yi子树中的最远距离,边(x, yi),边(x, yj),从yj到yj子树中的最远距离。设j < i,因此:  f[x] = max{d[yi] + d[yj] + edge(x, yi) + edge(x, yj)}(1 <= j < i <= t)  
(后面的这段from一本蓝书QAQ我太菜了)但是我们没有必要使用两层循环来枚举i, j。
在计算d[x]时,子节点的循环将要枚举到i时d[x]恰好就保存了从节点x出发走向“以yj(j < i)为根的子树”,能够到达的最远节点的距离,这个距离就是max{d[yi] +edge(x, yi)}(1 <= j < i)。所以我们先用d[x] + d[yi] + edge(x, yi)更新f[x],再用d[yi] + edge(x, yi)更新d[x]即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昀昀sV
2009-12-10 · TA获得超过4912个赞
知道小有建树答主
回答量:1728
采纳率:0%
帮助的人:1579万
展开全部
量出圆周长,除以π
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lysea2008
2009-12-10 · TA获得超过2121个赞
知道小有建树答主
回答量:605
采纳率:0%
帮助的人:440万
展开全部
用皮尺量一下周长 除以派就是直径了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8546b1fc8f
2009-12-10 · TA获得超过413个赞
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:0
展开全部
树干的直径还是树冠的直径啊
话说 树有胸径这个东西
就是在离地1.3米处的直径 围起来当个圆算就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式