选择
(1)把一棵树转换为二叉树后,这棵二叉树的形态是( A )。
A. 唯一的
B. 有多种
C. 有多种,但根结点都没有左孩子
D. 有多种,但根结点都没有右孩子
因为二叉树有左孩子、右孩子之分,故一棵树转换为二叉树后,这棵二叉树的形态是唯一的。
(2)由3个结点可以构造出多少种不同的二叉树?( D )
A. 2
B. 3
C. 4
D. 5
(3)一棵完全二叉树上有1001个结点,其中叶子结点的个数是( D )。
A. 250
B. 254
C. 500
D. 501
设度为0的结点为a,
度为1的结点为b,
度为2的结点为c,
由性质3:a=b+1
a+b+c = 1001
2c + b =1000
完全二叉树的性质:b = 0 或 1
c = 500 a=501
(4)一个具有1025个结点的二叉树的高h为( c)。
A. 10
B. 11
C. 11至1025之间
D. 10至1024之间
若每层仅有一个结点,则树高h为1025;
且其最小树高为[ log₂1025] + 1=11,即h在11至1025之间。
(5)深度为h的满m叉树的第k层有(A)个结点(1≤k≤h)。
(6)利用二叉链表存储树,则根结点的右指针( C )。
A. 指向最左孩子
B. 指向最右孩子
C. 为空
D. 非空
利用二叉链表存储树时,右指针指向兄弟结点,因为根节点没有兄弟结点,故根节点的右指针指向空。
(7)对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( C )遍历实现编号。
A. 先序
B. 中序
C. 后序
D. 从根开始按层次
(8)在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是( B )。
A. 41
B. 82
C. 113
D. 122
(9)在下列存储形式中,( D )不是树的存储形式?
A. 双亲表示法
B. 孩子链表表示法
C. 孩子兄弟表示法
D. 顺序存储表示法
(10)一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足(C)。
A. 所有的结点均无左孩子
B. 所有的结点均无右孩子
C. 只有一个叶子结点
D. 是任意一棵二叉树
因为先序遍历结果是“中左右”,
后序遍历结果是“左右中”,
当没有左子树时,就是“中右”和“右中”;
当没有右子树时,就是“中左”和“左中”。
则所有的结点均无左孩子或所有的结点均无右孩子均可
所以A、B不能选,属于半对
又所有的结点均无左孩子与所有的结点均无右孩子时,均只有一个叶子结点,故选C。
(11)设哈夫曼树中有199个结点,则该哈夫曼树中有( B )个叶子结点。
A. 99
B. 100
C. 101
D. 102
哈夫曼树中没有度为1的结点,只有度为0(叶子结点)和度为2的结点。
设叶子结点的个数为n,度为2的结点的个数为n₂,
由二叉树的性质n = n₂+1,
n₂ = n - 1
则总结点数 N = n + n₂ = 2*n - 1,得到 n=100。
(12)若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为(C)。
A. X的双亲
B. X的右子树中最左的结点
C. X的左子树中最右结点
D. X的左子树中最右叶结点
(13)引入二叉线索树的目的是( A )。
A. 加快查找结点的前驱或后继的速度
B. 为了能在二叉树中方便地进行插入与删除
C. 为了能方便地找到双亲
D. 使二叉树的遍历结果唯一
(14)设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有(C )个。
A. n−1
B. n
C. n+1
D. n+2
(15)n(n≥2)个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,错误的是( A )。
A. 该树一定是一棵完全二叉树
B. 树中一定没有度为1的结点
C. 树中两个权值最小的结点一定是兄弟结点
D. 树中任一非叶结点的权值一定不小于下一层任一结点的权值
排除法
哈夫曼树的构造过程是每次都选取权值最小的树作为左右子树构造一棵新的二叉树
所以树中一定没有度为1的结点
两个权值最小的结点一定是兄弟结点
任一非叶结点的权值一定不小于下一层任一结点的权值。
应用题
(1)试找出满足下列条件的二叉树。
① 先序序列与后序序列相同。
② 中序序列与后序序列相同。
③ 先序序列与中序序列相同。
④ 中序序列与层次遍历序列相同。
(2)设一棵二叉树的先序序列:A B D F C E G H ,中序序列:B F D A G E H C。
① 画出这棵二叉树。
② 画出这棵二叉树的后序线索树。
③ 将这棵二叉树转换成对应的树(或森林)。
(3)假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。
① 试为这8个字母设计哈夫曼编码。
② 试设计另一种由二进制表示的等长编码方案。
② 试设计另一种由二进制表示的等长编码方案。
③ 对于上述实例,比较两种方案的优缺点。
(4)已知下列字符A、B、C、D、E、F、G的权值分别为3、12、7、4、2、8,11,试填写出其对应哈夫曼树HT存储结构的初态和终态。
算法设计题
以二叉链表作为二叉树的存储结构,编写以下算法:
(1)统计二叉树的叶结点个数。
(2)判别两棵树是否相等。
(3)交换二叉树每个结点的左孩子和右孩子。
(4)设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。
(5)计算二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。(6)用按层次顺序遍历二叉树的方法,统计树中度为1的结点数目。
(7)求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。文章来源:https://www.toymoban.com/news/detail-520779.html
(8)输出二叉树中从每个叶子结点到根结点的路径。文章来源地址https://www.toymoban.com/news/detail-520779.html
到了这里,关于严魏敏-习题-树与二叉树-05的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!