- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 6 章 树与二叉树
习题 6
1. 树与二叉树之间有什么区别与联系?
解:树与二叉树逻辑上都是树形结构,区别有三点:
(1)二叉树的度至多为 2 ,树无此限制。
(2 )二叉树有左右子树之分,树无此限制。
(3 )二叉树允许为空,树一般不允许为空。
二叉树不是树的特例。
2. 高度为 h 的完全二叉树至少有多少个结点?至多有多少个结点?
解:至少有 2 h 1个结点,至多有 2 h 1个结点。 h 和结点数 n 之间的关系是 h log 2 n +1。
3. 已知 A[1..n] 是一棵顺序存储的完全二叉树,如何求出 A[i] 和 A[j] 的最近的共同祖先?
解:根据顺序存储的完全二叉树的性质,编号为 i 的结点的双亲的编号为 i/2 ,故 A[i] 和 A[j] 的最
近的共同祖先可如下求出:
while(i/2!j/2)
if(ij)i=i/2;
else j=j/2;
退出 while 后,若 i/2=0 ,则最近共同祖先为根结点,否则共同祖先为 i/2 。
4. 已知 A[1..n] 是一棵顺序存储的完全二叉树,求序号最小的叶子结点的下标。
解:根据完全二叉树的性质,最后一个结点(编号为 n)的双亲结点的编号是 n/2 ,这是最后一个分
支结点,在它之后是第一个叶子结点,故序号最小的叶子结点的下标是 n/2 +1。
5. 一棵深度为 L 的满 k 叉树有以下性质:第 L 层上的结点都是叶子结点,其余各层上每个结点都有 k
棵非空子树,如果按层次顺序从 1 开始对全部结点进行编号,求:
(1) 各层的结点数是多少?
(2) 编号为 n 的结点的双亲结点 ( 若存在 ) 的编号是多少?
(3) 编号为 n 的结点的第 i 个孩子结点 ( 若存在 ) 的编号是多少?
(4) 编号为 n 的结点有左右兄弟结点的条件是什么?如果有,其右兄弟结点的编号是多少?
h-1
解: (1)k (h 为层数 ) 。
h-1
(2) 因为该树上每层上均有 k 个结点,从根开始编号为 1,则结点 i 的从右向左数第 2 个孩子的结点
编号为 ki 。设 n 为结点 i 的子女,则关系式 (i-1)*k+2 n i*k+1 成立,因 i 是整数,故结点 n 的双亲 i
的编号为 n/k +1。
(3) 结点 (n1) 的前一结点编号为 n-1 (其最右边子女编号是 (n-1)*k+1 ),故结点 n 的第 i 个孩子的编
号是 (n-1)*k+1+i 。
(4) 根据以上分析,结点 n 有右兄弟的条件是,它不仅双亲的从右边的第一个子女,即 (n-1)%k!=0 ,
1
第 6 章 树与二叉树
其右兄弟编号是 n+1。
6. 试证明,在具有 n(n ≥1) 个结点的 m叉树中,有 n(m-1)+1 个指针域是空的。
解:具有 n 个结点的 m叉树共用 n*m 个指针。除根结点外,其余 n-1 个结点均有指针所指,故空指针
数为 n*m-(n-1)=n*(m-1)+1
文档评论(0)