设一颗完全二叉树共有700个结点 ,则该二叉树中有------个叶子结点。

答案我有我需要解题关键过程!... 答案我有 我需要解题关键过程! 展开
 我来答
小太阳one
高粉答主

2018-09-21 · 醉心答题,欢迎关注
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:3.2万
展开全部

350个叶子节点。

根据二完全叉树的性质:

如果一棵具有n个结点的深度为k的二叉树,它的每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应,这棵二叉树称为完全二叉树。

可以根据公式进行推导,假设n0是度为0的结点总数(即叶子结点数),n1是度为1的结点总数,n2是度为2的结点总数,则 :

①n= n0+n1+n2 (其中n为完全二叉树的结点总数);又因为一个度为2的结点会有2个子结点,一个度为1的结点会有1个子结点,除根结点外其他结点都有父结点,

②n= 1+n1+2*n2 ;由①、②两式把n2消去得:n= 2*n0+n1-1,由于完全二叉树中度为1的结点数只有两种可能0或1,由此得到n0=n/2 或 n0=(n+1)/2。

简便来算,就是 n0=n/2,其中n为奇数时(n1=0)向上取整;n为偶数时(n1=1)。可根据完全二叉树的结点总数计算出叶子结点数。

则该题叶子结点数根据完全二叉树的概念可知,度为1的结点数要么为1,要么为0,二叉树总结点数n=n0+n1+n2=n/2,得出n0=n/2=700/2=350,所以本题答案是350个叶子结点。

扩展资料:

1、完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

2、完全二叉树特点

叶子结点只可能在最大的两层上出现,对任意结点,若其右分支下的子孙最大层次为L,则其左分支下的子孙的最大层次必为L 或 L+1;

(1)只允许最后一层有空缺结点且空缺在右边,即叶子结点只能在层次最大的两层上出现;

(2)对任一结点,如果其右子树的深度为j,则其左子树的深度必为j或j+1。 即度为1的点只有1个或0个

参考资料:百度百科-完全二叉树

浪子_回头99
高粉答主

2018-09-20 · 说的都是干货,快来关注
知道小有建树答主
回答量:1949
采纳率:100%
帮助的人:93.2万
展开全部

根据二叉树的性质3可知:叶子结点数n0=n2+1,根据完全二叉树的概念可知,度为1的结点数要么为1,要么为0,二叉树总结点数N=n0+n1+n2=2n0+n1-1,得出n0=(N+1-n1)/2=N/2向上取整,所以本题答案是350个叶子结点。

扩展资料:

完全二叉树的性质:

①n= n0+n1+n2 (其中n为完全二叉树的结点总数);又因为一个度为2的结点会有2个子结点,一个度为1的结点会有1个子结点,除根结点外其他结点都有父结点,

②n= 1+n1+2*n2 ;

由①、②两式把n2消去得:n= 2*n0+n1-1,由于完全二叉树中度为1的结点数只有两种可能0或1,由此得到n0=n/2 或 n0=(n+1)/2。

简便来算,就是 n0=n/2,其中n为奇数时(n1=0)向上取整;n为偶数时(n1=1)。可根据完全二叉树的结点总数计算出叶子结点数。

参考资料:完全二叉树–百度百科

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纯清一色
2013-01-29 · TA获得超过101个赞
知道答主
回答量:9
采纳率:0%
帮助的人:7.6万
展开全部
解法一:根据二叉树的性质3可知:叶子结点数n0=n2+1,根据完全二叉树的概念可知,度为1的结点数要么为1,要么为0,二叉树总结点数N=n0+n1+n2=2n0+n1-1,得出n0=(N+1-n1)/2=N/2向上取整,所以本题答案是350个叶子结点。解法二:易求出总层数和末层叶子数。总层数k=log2N向上取整 =10;且前9层总结点数为2^9-1=511 (完全二叉树的前k-1层肯定是满的)所以末层叶子数为700-511=189个。请注意叶子结点总数≠末层叶子数!还应当加上第k-1层(靠右边)的0度结点个数。末层的189个叶子只占据了上层的95个结点(189/2 ),上层(k=9)右边的0度结点数还有2^(9-1)-95=161个。所以,全部叶子数=189(末层)+161(k-1层)=350个。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shaoqi08110820
2013-01-29 · TA获得超过2508个赞
知道大有可为答主
回答量:1514
采纳率:100%
帮助的人:1736万
展开全部
因为700 是偶数,所以n1=1 n0=n2+1
所以
n0+1+n0-1=700
n0=350
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户10216
2018-07-17
知道答主
回答量:1
采纳率:0%
帮助的人:849
展开全部
完全二叉树的层数 : [log2 (700)]+1=10
前9层总共共有的结点:2^9-1=511
第十层的结点:700-511=189
第九层的结点:2^(9-1)=256
第10层对应第9层的结点有:189/2=94……1
第九层的子结点:256-95=161
第十层子结点:189
子结点总数:189+161=350
你应该可以看懂吧,如果不懂的话,就多看看定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式