设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点
答案是250个,但是我的思路是满2叉树的结点是2的K次方减1,所以,满2叉树应该有511个结点。。但现在只有500个,所以缺少了11个右结点。。所以,叶子结点应该是256...
答案是250个,但是我的思路是满2叉树的结点是2的K次方减1,所以,满2叉树应该有511个结点。。但现在只有500个,所以缺少了11个右结点。。所以,叶子结点应该是256减11为245个。。错哪里了,请求高人指点。。
展开
6个回答
展开全部
你错误在:“所以缺少了11个右结点”的“右”字上。是事实是最后一层上少了倒着少了11个结点。明确的说是少了6个右,5个左。
所以,应该256-11,但是由于最后一层少了11个结点,所以上一层多了5个叶子结点,所以最终答案应该是:256-11+5=250
所以,应该256-11,但是由于最后一层少了11个结点,所以上一层多了5个叶子结点,所以最终答案应该是:256-11+5=250
追问
那怎么判断出少了几个右几个左呢?
追答
请先理解什么叫完全二叉树。(节点是依次的,从上至下,从左到右按顺序的)
所以既然你说它是完全二叉树,而它右少了节点,那么少的节点肯定是从最后一个依次向前少的呗
少的顺序应该是:右,左,右,左。。。
这样的话,少了11个,肯定就是6个右,5个左呀
建议你先理解完全二叉树的定义,然后画个图就明白啦
展开全部
根据二叉树的性质:对于一棵非空的二叉树,如果叶子节点数为n0,度为2的结点数为n2,则n0=n2+1.
根据完全二叉树的定义可得:在完全二叉树中度为1的结点n1只能取两种情况,要么为0,要么为1.
所以:n0+n1+n2=500
n0=n2+1;
2n0=501-n1;
因为结点数为整数,所以n1=1,n0=250
根据完全二叉树的定义可得:在完全二叉树中度为1的结点n1只能取两种情况,要么为0,要么为1.
所以:n0+n1+n2=500
n0=n2+1;
2n0=501-n1;
因为结点数为整数,所以n1=1,n0=250
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二叉树共有9层,前8层共有2^8 -1=245个节点,第八层有2^7=128节点,第九层有245节点(叶子节点),245/2=122.5,说明树的第八层上面还有128-123=5个叶子节点,245+5=250,所以共有250个节点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-10
展开全部
总结点个数为N,则N=n0 n1 n2=n1 2*n2
所以n2=n0-1,N=2*n0 n1-1
在完全二叉树中,n1等于0或者1,所以这里n1=1,n0=250!
所以n2=n0-1,N=2*n0 n1-1
在完全二叉树中,n1等于0或者1,所以这里n1=1,n0=250!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-09
展开全部
总结点个数为N,则N=n0 n1 n2=n1 2*n2
所以n2=n0-1,N=2*n0 n1-1
在完全二叉树中,n1等于0或者1,所以这里n1=1,n0=250!
所以n2=n0-1,N=2*n0 n1-1
在完全二叉树中,n1等于0或者1,所以这里n1=1,n0=250!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询