完全二叉树的768个节点,__个叶子节点?

wgf42421 2010-10-24 01:06:01
刚看了完全二叉树。
求解与详细说明。

513个?
...全文
1517 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
伊酷咦 2012-11-26
  • 打赏
  • 举报
回复
设n1为二叉树T中度为1的结点数。 因为二叉树中所有的结点的度均小于等于2,所以其结点总数为 n=n0+n1+n2 又因为n0=n2+1 且二叉树中度为1的结点数只有一个(根结点),所以求得结果n0=(768-2)/2=383 结果跟384不一样,哪里错了????
qin_zhu 2012-10-26
  • 打赏
  • 举报
回复 1
[Quote=引用 1 楼 的回复:]
答案是384
完全二叉树除去最底层节点外是一棵满二叉树,有2^n-1个节点,小于768的最大2^n-1为512,剩余256个节点是最后一层的叶子节点,倒数第二层一共有256个节点,其中128个作为最底层256个的父节点,还有128个也是叶子节点,所以一共384个,画个图就明白了
[/Quote]
++
  • 打赏
  • 举报
回复
[Quote=引用楼主 wgf42421 的回复:]
刚看了完全二叉树。
求解与详细说明。

513个?
[/Quote]
这个好像是某公司笔试题中第一道填空题,比较基础
wgf42421 2010-10-24
  • 打赏
  • 举报
回复
小于768的最大2^n-1为512,
这512不是倒数第二层么?
CoderPlusPlus 2010-10-24
  • 打赏
  • 举报
回复
恩,我在1楼有失误,应该是2^n-1=511

to 2楼
倒数第二层一共只有256,何来左右各256之说?
wgf42421 2010-10-24
  • 打赏
  • 举报
回复
什么样的算是叶子节点?

倒数第二层右侧的256个叶子节点为什么不算里面?

除最下面一层外,其上是一棵满二叉树,我也同意,楼上说的 2^k-1,-1是什么?
gzyhw9558 2010-10-24
  • 打赏
  • 举报
回复
完全二叉树的定义为:深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。 ———来自《数据结构》(清华大学 严蔚敏)
从上面的定义可以看出,除最下面一层外,其上是一棵满二叉树,这个我和楼上的观点是一样的。满二叉树的最大结点计算公式为:2^k-1 由题目中其总结点为768,所以除最下一层外所得的满二叉树的结点数为511,而不是512, 那么还剩 768-511=257 个结点就是最下一层的叶子结点,而倒数第二层中的256个结点中,要拿出256/2+1个结点来作为倒数第一层的父结点,则倒数第二层还剩的 256 - (256/2 + 1)=127个结点则也是叶子结点,所以叶子结点数为 257 + 127 = 384 个。

结果是:384 个。(自己的一点浅见,希望对楼主有用!!!)
wgf42421 2010-10-24
  • 打赏
  • 举报
回复
我想先问下什么是叶子节点?是不是最外面的?



如果是的话我算的是256+128+256.
CoderPlusPlus 2010-10-24
  • 打赏
  • 举报
回复
答案是384
完全二叉树除去最底层节点外是一棵满二叉树,有2^n-1个节点,小于768的最大2^n-1为512,剩余256个节点是最后一层的叶子节点,倒数第二层一共有256个节点,其中128个作为最底层256个的父节点,还有128个也是叶子节点,所以一共384个,画个图就明白了

33,025

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧