数据结构求解

qiqisheng 2006-04-13 02:33:40
一棵有124个叶点的完全二叉书,最多有多少个结点?
有没有简便的公式?谢谢!!
...全文
576 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanlan1984 2006-05-13
  • 打赏
  • 举报
回复
图错了
修改一下
    0  0  0....0  0  0  0  0  0 64个(4个子叶)
  0 0 0 0 0 0 0 0 0 0           120个(全为子叶)
nanlan1984 2006-05-13
  • 打赏
  • 举报
回复
其图如下:
0 0 0 0 ......0 0 0 0 0 0 0 64个
0 0 0 0 0 0 ....... 0 0 0 0 0 0 120个
所以lovepingping() 说的就不正确了
nanlan1984 2006-05-13
  • 打赏
  • 举报
回复
我认为应该是247
第七层即2^7=128个
而题目给的是124个
就是说第七层有120个(其余8个为第六层的子叶)
还有4个是第六层的
2^0+2^1+.....+2^6+120=247个
dugu0321 2006-05-09
  • 打赏
  • 举报
回复
设有k层,则叶子接点最多为2的k-1次方大于,则k小于8,则总的接点数小于2的k次方减1即小于255,结合128-124相差4个叶子接点,则总的叶子接点为251
wjbtt008 2006-05-04
  • 打赏
  • 举报
回复
答案是247
其实很简单 你只要记住 (所有结点数)=(叶子)+(度为2的结点)
(叶子)与 (度为2的结点) 有一个看似简单但很使用的关系 :
N(叶子)=N(度为2的结点)+1
已知道N(叶子)=124 → N(度为2的结点)=123
简单吧
加油~!
jbd0412 2006-04-30
  • 打赏
  • 举报
回复
偶数个叶子结点 n*2-1
奇数个叶子结点 n*2

n为叶子结点数目

n=124
应该是124*2-1 = 247个结点

我也考软设!!!!!!!
ghfnag 2006-04-29
  • 打赏
  • 举报
回复
应该是253个结点
libin_12_14 2006-04-28
  • 打赏
  • 举报
回复
上面的是叶子节点数
节点数应该是:n(max)+L-1
libin_12_14 2006-04-28
  • 打赏
  • 举报
回复
N(max)=L-1
lovepingping 2006-04-25
  • 打赏
  • 举报
回复
可以用等数列求和公式算,但我不记得了,谁可以告诉我吗?若有N个叶子结点要求计算,那就采用等比数列求和公式
lovepingping 2006-04-25
  • 打赏
  • 举报
回复
是251。
分析:
124=128-4
128=2^7
2^6+2^5+.......2^0+124=251
ls_721521 2006-04-25
  • 打赏
  • 举报
回复
写错是247
ls_721521 2006-04-25
  • 打赏
  • 举报
回复
是243个吧
ls_721521 2006-04-25
  • 打赏
  • 举报
回复
luoxingfeisha() 你写的不是完全二叉树
luoxingfeisha 2006-04-25
  • 打赏
  • 举报
回复
嘿嘿
还有两位赞同是251的
xingshi11 2006-04-25
  • 打赏
  • 举报
回复
247
xiangfei1025 2006-04-24
  • 打赏
  • 举报
回复
应该是251吧
2^7=128
总的节点=(1+2+4+8+.....+128)-4=255-4=251
atom629 2006-04-23
  • 打赏
  • 举报
回复
我算的也是247,不过没发现有多种可能
atom629 2006-04-23
  • 打赏
  • 举报
回复
国内的严蔚敏的《数据结构》有较好的说明,但是她提到“不同的书中对完全二叉树的定义有所不同”,不过她书中的定义与上面提到的国外教材的定义是一致的。
atom629 2006-04-23
  • 打赏
  • 举报
回复
我暂时还不知道如何计算,但是似乎好多人对“完全二叉树”的定义有误解。
一般国内的教材上是这样定义的:“深度为k有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。”
但是我翻一本国外的书(《数据结构C++语言描述-应用标准模版库stl》计不清了,好像是这本),其中有一个例子,即“完全二叉树”与“非完全二叉树”的图例中,最后一层的叶子必须是从左向右顺序排列的树才叫“完全二叉树”,像“plamlover(火麒麟)、luoxingfeisha() ”提到的应该是“非完全二叉树”。所以给出的答案应该有问题。
在百度上搜了一下,找到“完全二叉树,一棵完全二叉树是一棵除了叶子节点以外,完全被填满的树,叶子节点从左向右排列。”
至于怎样计算请高手指教。
加载更多回复(12)

2,948

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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