第六章树和二叉树作业1—二叉树(判断和选择)

本文详细解析了二叉树的遍历方法,包括前序、中序和后序遍历,以及遍历顺序对二叉树结构的影响。探讨了二叉树的不同类型,如满二叉树、完全二叉树、平衡二叉树和二叉搜索树的定义与特性。文章还通过具体例子,阐述了如何根据不同的遍历序列判断二叉树的结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、判断题

1、

在这里插入图片描述

答案:T

解析:
后序:左右根
中序:左根右
所以说,如果刚好一样的话,只能是二叉树的任何结点都没有右孩子。


2、

在这里插入图片描述

答案:F


3、

在这里插入图片描述

答案:F

解析:没有确定二叉树的类型

二叉树的类型

(1)满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。
在这里插入图片描述

(2)完全二叉树(满足下面两个条件)

在这里插入图片描述
第一种是

  • 一棵二叉树只有倒数第二层上的结点的度数(每个结点有几个分支,度数即为几)可以小于2,其余每层上的结点的度数都等于2。
  • 空缺在右边(只要不是左边就行,不一定必须在相对于根节点来说的左子树上)
    在这里插入图片描述

第二种是
满二叉树

下图中左边是完全二叉树,右边不是完全二叉树
在这里插入图片描述

(3)平衡二叉树:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树

(4)二叉搜索树:它的定义与树的定义是类似的,也是一个递归的定义:

  • 要么是一棵空树
  • 如果不为空,那么其左子树节点的值都小于根节点的值;右子树节点的值都大于根节点的值
  • 其左右子树也是二叉搜索树

4、

在这里插入图片描述

答案:F

解析:
前序:根左右
中序:左根右
(1)因为a和b都是叶子节点,所以并不影响他们访问的先后次序,叶子结点不管是在哪种遍历方法中,它们的相对位置是不变的。
(2)先序遍历、中序遍历、后序遍历三个其实是相对根来说的,叶子结点左右遍历的顺序是不变的。


树的三种遍历方式

(1)前序遍历:根左右

在这里插入图片描述

  • 先序遍历的时候,先访问总根节点
  • 之后,访问总根节点的左子树的根,然后左子树,之后右子树,右子树也可能是根,但是先序遍历,就应该先遍历根,所以又开始了根——左子树——右子树(根),依次类推
  • 最后,访问总根节点的右子树的根,又开始了根——左子树——右子树(根),依次类推

(2)中序遍历:左右根

在这里插入图片描述

  • 中序遍历的时候,先从总根节点的左子树开始遍历,左子树——根——右子树(可能是下一棵子树的根节点)这样,先访问右子树所在子树的左结点——根——右子树(可能是下一棵子树的根节点),依次类推。
  • 当左半边访问完之后,再访问总根节点
  • 然后以同样的顺序访问总根节点的右子树

(3)后序遍历:左右根

在这里插入图片描述

  • 后序遍历的时候,先从总根节点的左子树开始遍历,左子树——右子树(可能是下一棵子树的根节点)这样,先访问右子树所在子树的左结点——右子树(可能是下一棵子树的根节点),依次类推。最后,再一个个回退访问“根节点”
  • 然后以同样的顺序访问总根节点的右子树
  • 当左和右两个半边都访问完之后,再访问总根节点

5、

在这里插入图片描述

答案:F

解析:
中序:左根右
前序:根左右
这么看确实正确,但正确的前提是都有右子树,对于只有根和左子树的图是不成立的。


6、

在这里插入图片描述

答案:T

解析:
前序:根左右
中序:左根右
一样的话,那么一定没有左孩子


7、

在这里插入图片描述

答案:T

解析:
先序:根左右
中序:左根右

1.找出根节点:A

2.可能的树的类型,本题目只有两种

3.这两种树的中序遍历都不是CAB,一个是BAC,一个是CBA


单选题

1、

在这里插入图片描述

答案:A

解析:1+k+k2+k3+k4+…+kh-1=1*(1-kn)/1-k

等比公式:Sn=a1(1-qn)/(1-q)

所以答案是A


2、

在这里插入图片描述

答案:D

解析:每层只有第一个节点往下分,然后加上根节点即可
例如

  • 2层:1+k
  • 3层:2+k+k

3、

在这里插入图片描述

答案:B

解析:
先序:根左右
中序:左根右
所以要先序与中序相同,只能没有左子树,只有右子树


4、

在这里插入图片描述

答案:B

解析:
在这里插入图片描述

所以说,如果不是按照先序排列的话,一个结点为左结点或者右结点的同时,还可能是根,这个时候,先看以左结点或者右结点为根的子树的左结点和右结点,依次类推。也就是说,遇到既是左结点或者右结点,还是根的时候,先放一下,看以它为根的子树的左右结点。


5、

在这里插入图片描述

答案:A

解析:

(1)树的度:

  • 度:每一个结点所拥有的子树的个数
  • 树的度:最大的度数就是树的度

(2)有好多种二叉树,所以不一定是2

(3)二叉堆满足二个特性:

https://blog.youkuaiyun.com/x_y_q_/article/details/51707444

  • 父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。
  • 每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。
  • 当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆
  • 当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。

6、

在这里插入图片描述

答案:A

解析:
(1)由后序排列可得根节点是4,所以,左边有123,右边有567,根节点是4

(2)假设是按照标准的排序,就是没有是结点同时又是根的情况的时候

  • 对于左子树来说

后序:1(左)3(右)2(根)
中序:1(左)2(根)3(右)刚好与中序排序相同,所以是正确的

  • 对于右子树来说:
    后序:6(左)5(右)7(根)
    中序:6(左)7(根)5(右)但是与中序排序不同,说明,出现了某一个结点即使左/右结点,同时也是根节点的情况

(3)不管是不是有某一个结点即使左/右结点,同时也是根节点的情况,小的总根节点就是根节点,位置是不会变的,所以根据后序排列,可知右子树的根节点是7(一般首选后序排列求根节点,没有后序排列的话,就根据前序排列求根节点,不管是总根节点,还是左子树的根节点,还是右子树的根节点。

(4)假设是
在这里插入图片描述

对于后序:左右根:6-5-7是正确的
对于中序:左根右:5是根,所以找5所在的子树的左子树,所示是6-5-7
但是不对,所以不是这样的排序顺序

(5)假设是
在这里插入图片描述

对于后序:左右根:左边的也是根,所以找下一个子树,6-5-7是正确的
对于中序:左根右:左边的也是根,所以找下一个子树,左边空,根是5,右边是6,所以是5-6-7,所以正确

(6)最终图形为

在这里插入图片描述

根据完全二叉树的特点,所以不是完全二叉树,所以A是错误的。
左小于根,右大于根,所以是二叉搜索树。


7、

在这里插入图片描述

答案:C

解析:对于任何一棵树,结点总数=总分支数目+1,叶子没有分支数

设有x个叶子结点,那么m+x=m*k+1,所以,x=m(k-1)+1


8、

在这里插入图片描述

答案:D

解析:对于任何一棵树,结点总数=总分支数目+1,叶子没有分支数

2+3+4+x=2*2+3*3+4*4+1
x=21

9、

在这里插入图片描述

答案:D

解析:
(1)由后序排列可得根节点是4,所以,左边有213,右边有657,根节点是4

(2)假设是按照标准的排序,就是没有是结点同时又是根的情况的时候

  • 对于左子树来说

前序:2(根)1(左)3(右)
中序:1(左)2(根)3(右)刚好与中序排序相同,所以是正确的

  • 对于右子树来说:
    后序:6(根)5(左)7(右)
    中序:5(左)6(根)7(右)刚好与中序排序相同,所以是正确的

(3)图为

在这里插入图片描述满二叉树也是完全二叉树的一种,所以,这也是一颗完全二叉树。


10、

在这里插入图片描述

答案:C

解析:
要作图的,有两层的,有三层的,
两层的有:母节点是A,A的左子节点为B,A的右子节点为C
三层的有:
1、母节点是A,A的右子节点为B,B的右子节点为C
2、母节点是A,A的右子节点为B,B的左子节点为C
3、母节点是A,A的左子节点为B,B的右子节点为C
4、母节点是A,A的左子节点为B,B的左子节点为C


11、

在这里插入图片描述

答案:B

解析:叶结点的相对顺序是不会改变的


12、

在这里插入图片描述

答案:C

解析:

  • 在二叉树的第 i 层上至多有2i-1个结点
  • 深度为 k 的二叉树上至多含2k-1个结点(k≥1)

所以25-1=16


13、

在这里插入图片描述

答案:B

解析:先序:根左右,若某一个结点既是左结点/右结点,同时,也是根节点的话,先看以其为根节点的子树的根左右。


14、

在这里插入图片描述

答案:A

解析:对于任何一棵树,结点总数=总分支数目+1,叶子没有分支数

5+3+2+x=1*5+2*3+3*2+1
x=8

15、

在这里插入图片描述

答案:C

解析:
中序:左根右
后序:根左右
相反,所以一定没有左孩子


16、

在这里插入图片描述

答案:B

解析:
前序:根左右
后序:左右根
中序:左根右

  • 一棵具有N个结点的二叉树的前序序列和后序序列正好相反 ,则该二叉树一定满足该二叉树只有左子树或只有右子树,即该二叉树一定是一条链(二叉树的高度为N,高度等于结点数)(高度:根节点为1,下面依次为2、3…)
  • 前序序列和中序序列正好相反,任一结点无右孩子
  • 中序序列和后序序列正好相反,任一结点无左孩子

17、

在这里插入图片描述

答案:A

解析:
中序:左根右,所以要想在前面,n就得在m的左方


18、

在这里插入图片描述

答案:B


19、

在这里插入图片描述

答案:B

解析:
最少结点数:

  • 2层:3个
  • 3层:1+2+2=5个
  • 4层:1+2+2+2=7个


所以为B


20、

在这里插入图片描述

答案:A

解析:

  • 度数:含有子树的个数
  • 树的度数:最大的度数
  • 二叉树也需要分好多种类型
  • 并非所有二叉树的左右子树都可以任意交换的,要看二叉树自己的特性要求,像堆或者搜索二叉树是不允许交换左右子树的
1. 一棵二叉树的顺存储情况如下: 中,度为2的结点数为( )。 A.1 B.2 C.3 D.4 2. 一棵“完全二叉树”结点数为25,高度为( )。 A.4 B.5 C.6 D.不确定 3.下列说法中,( )是正确的。 A. 二叉树就是度为2的 B. 二叉树中不存在度大于2的结点 C. 二叉树是有 D. 二叉树中每个结点的度均为2 4.一棵二叉树的前遍历列为ABCDEFG,它的中遍历列可能是( )。 A. CABDEFG B. BCDAEFG C. DACEFBG D. ADBCFEG 5.线索二叉树中的线索指的是( )。 A.左孩子 B.遍历 C.指针 D.标志 6. 建立线索二叉树的目的是( )。 A. 方便查找某结点的前驱或后继 B. 方便二叉树的插入与删除 C. 方便查找某结点的双亲 D. 使二叉树的遍历结果唯一 7. 有abc三个结点的右单枝二叉树的顺存储结构应该用( )示意。 A. a b c B. a b ^ c C. a b ^ ^ c D. a ^ b ^ ^ ^ c 8. 一颗有2046个结点的完全二叉树的第10层上共有( )个结点。 A. 511 B. 512 C. 1023 D. 1024 9. 一棵完全二叉树一定是一棵( )。 A. 平衡二叉树 B. 二叉排 C. 堆 D. 哈夫曼 10.某二叉树的中遍历后序遍历正好相反,则该二叉树一定是( )的二叉树。 A.空或只有一个结点 B.高度等于其结点数 C.任一结点无左孩子 D.任一结点无右孩子 11.一棵二叉树的顺存储情况如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A B C D E 0 F 0 0 G H 0 0 0 X 结点D的左孩子结点为( )。 A.E B.C C.F D.没有 12.一棵“完全二叉树”结点数为25,高度为( )。 A.4 B.5 C.6 D.不确定 二、填空题(每空3分,共18分)。 1. 的路径长度:是从根到每个结点的路径长度之。对结点数相同的来说,路径长度最短的是 完全 二叉树。 2. 在有n个叶子结点的哈夫曼中,总结点数是 2n-1 。 3. 在有n个结点的二叉链表中,值为非空的链域的个数为 n-1 。 4. 某二叉树的中遍历后序遍历正好相反,则该二叉树一定是 任一结点无左孩子二叉树。 5. 深度为 k 的二叉树最多有 个结点,最少有 k 个结点。 三、综合题(共58分)。 1. 假定字符集{a,b,c,d,e,f }中的字符在电码中出现的次数如下: 字符 a b c d e f 频度 9 12 20 23 15 5 构造一棵哈夫曼(6分),给出每个字符的哈夫曼编码(4分),并计算哈夫曼的加权路径长度WPL(2分)。 (符合WPL最小的均为哈夫曼,答案不唯一) 哈夫曼编码: 2. 假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字符构成,它们在电文中出现的频率分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04}。要求: (1)为这7个字符设计哈夫曼(6分)。 (2)据此哈夫曼设计哈夫曼编码(4分)。 (3)假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少?(4分) (1) 为这7个字符设计哈夫曼为(符合WPL最小的均为哈夫曼,答案不唯一): (2) 哈夫曼编码为: a:01;b:001;c:100;d:0001;e:101;f:11;g:0000 (3) 假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少? 采用等长码,100个字符需要300位二进制数,采用哈夫曼编码发送这100个字符需要261二进制位,压缩了300-261=39个字符。压缩比为39/300=13%。 3. 二叉数T的(双亲到孩子的)边集为: { <A,B>, <A,C>, <D,A>, <D,E>, <E,F>, <F,G> } 请回答下列问题: (1)T的根结点(2分): (2)T的叶结点(2分): (3)T的深度(2分): (4)如果上述列出边集中,某个结点只有一个孩子时,均为其左孩子;某个结点有两个孩子时,则先列出了连接左孩子的边后列出了连接右孩子的边。画出该二叉树其及前线索(6分)。 (1)T的根结点 (2)T的叶结点 : (3)T的深度 : (4)二叉树其及前线索为: 4.现有以下按前遍历二叉树的结果: 前:ABCEDFGHI 中:CEBGFHDAI 画出该二叉树的逻辑结构图(5分),并在图中加入中线索(5分)。 5.有电文:ABCDBCDCBDDBACBCCFCDBBBEBB。 用Huffman构造电文中每一字符的最优通讯编码。画出构造的哈夫曼,并给出每个字符的哈夫曼编码方案。(符合WPL最小的均为哈夫曼,答案不唯一) (1)构造哈夫曼(6分): (2)哈夫曼编码方案(4分):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值