完全二叉树叶子节点的算法?

求讲解...不要百科上的.就是公式:n0=(n+1)/2怎么推导的--谢谢了... 求讲解...不要百科上的.就是公式:n0=(n+1)/2怎么推导的- -谢谢了 展开
 我来答
xiao1060503543
高粉答主

2018-05-28 · 说的都是干货,快来关注
知道小有建树答主
回答量:274
采纳率:82%
帮助的人:12.2万
展开全部

设二叉树的叶子节点数为n0,度数为2的节点数为n2,设n1为二叉树中度为1的节点数

因为二叉树中所有节点的度都钓鱼或者等于2,所以二叉树节点总数n=n0+n1+n2

再看二叉树的分支数,除了根节点外,其余节点都有一个分支进入,设B为分支总数,则n=B+1

由于这些分支都是有度为1或者2 的节点射出的,所以B=n1+n2;于是有n=n1+2*n2+1

综合n=n0+n1+n2和n=n1+2*n2+1两式即可得到n0=n2+1

完全二叉树是特殊的二叉树,对于n0=n2+1当然成立

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chiconysun
2018-01-02 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2552万
展开全部
设二叉树中度为0叶子有n0个,度为1 结点有n1 个,度为2 结点有n2个
n0 + n1 + n2 = n (1)
按照二叉树性质:n0 = n2 + 1,也就是n2 = n0 -1
于是代入(1) 得:2n0 + n1 - 1 = n
按照完全二叉树性质,度为1 的结点最多1个
因此当n为偶数时,n1 = 1,因此n0 = n / 2
当n为奇数时,n1 = 0,因此n0 = (n + 1)/2
合并这两个结果有:n0 = (n + 1)/2 ,实际是整数除法,也就是下取整
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式