2001年高程上午题试题1的中的(3)、(4)、(5)题如何解?

Susan303 2003-09-14 05:13:41
题目是这样的:
  一棵查找二叉树,其结点A、B、C、D、E、F依次存放在一个起始地址为n(假定地址以字节为单位顺序编号)的连续区域中每个结点占4个字节:前两个字节存放结点值,后两个字节依次放左指针、右指针。若该查找二叉树的根结点为E,则它的一种可能的前序遍历为EACBDF,相应的层次遍历EAFCBD。
  在以上的两种遍历情况下,结点C的左指针Lc的存放地址为_(3)_,Lc的内容为_(4)_。结点A的右指针Ra的内容为_(5)_。
(3)A. n+9 B. n+10 C. n+12 D.n+13
(4)A. n+4 B. n+8 C. n+12 D.n+16
(5)A. n+4 B. n+8 C. n+12 D.n+16

答案分别为:B  A  B

可否详细解答一下,多谢各位了!
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiang1999 2003-09-17
  • 打赏
  • 举报
回复
根据二叉排序树的特点,一个节点的值大于左孩子的值,小于右孩子的值。
戴纹 2003-09-15
  • 打赏
  • 举报
回复
怎么确定C为A的右孩子呢?如果第3个答案有Null呢?
x014 2003-09-15
  • 打赏
  • 举报
回复
根据遍历可知,E的左孩子为A,右孩子为F。A右孩子为C。C的左孩子为B,右孩子为D。自己画一下。
Lc的存放地址=C的首地址+2=n+2*4+2=n+10
Lc的内容为C的左孩子B的地址,为 n+1*4=n+4
同理,A的右指针Ra的内容为A右孩子C的地址,为 n+2*4=n+8
guohua24 2003-09-14
  • 打赏
  • 举报
回复
(e(a(c,b(d))),f)

2,947

社区成员

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

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