树 - 习题
已知一棵完全二叉树的第 6 层有 8 个叶结点,则该完全二叉树的结点个数最多是 ( )
A. 39 B. 52 C. 111 D. 119
解:
- 本题告诉第 6 层有 8 个叶子,则还会有 24 个分支节点,其在第 7 层最多有 48 个叶子,故选 C,若本题说第 6 层只有 8 个叶子,则应该选 A
在一棵度为 4 的树 T 中若,若有 20 个度为 4 的结点,10 个度为 3 的结点,1 个度为 2 的结点,10 个度为 1 的结点,则树 T 的叶结点个数是 ( )
A. 41 B. 82 C. 113 D. 122
**
解:
- 在这棵树中度为 204+103+12+101=122,树的结点数为度数加一,为 123 个结点,123 个结点减去有度的 20+10+1+10=41 个结点,剩下 82 个度为 0 的结点,选 B
若一棵二叉树的前序遍历序列和后序遍历序列分别为 1, 2, 3, 4 和 4, 3, 2, 1,则该二叉树的中序遍历序列不会是 ( )
A. 1, 2, 3, 4 B. 2, 3, 4, 1 C. 3, 2, 4, 1 D. 4, 3, 2, 1
解:
- 前序遍历和后序遍历序列相反的二叉树是高度等于结点数的二叉树,或者说只有一个叶子节点的二叉树,或说每个分支结点至多只有左孩子或只有右孩子的二叉树。A 是分支结点只有右子树的二叉树,D 是分支节点只有左孩子的二叉树,B 是以 1 为根,2 是 1 的左孩子,3 是 2 的右孩子,4 是 3 的右孩子,故选 C
已知一棵有 2011 个结点的树,其叶结点个数为 116,该树对应的二叉树无右孩子的结点个数为 ( )
A. 115 B. 116 C. 1895 D. 1896
解:
- 一共有 2011 个结点,即左孩子数 + 右孩子数 + 根节点 = 总结点数,即 L + R + 1 = 2011。有 116 个结点有左孩子,即 L 为 116,带入上式 R 为 115,即有 115 个结点有右孩子。在转换出来的二叉树中,一共有 2011*2 个指针,其中左右指针各 2011 个。左右指针都各自包含了指向空的左右指针与非空的左右指针,115 个结点有右孩子即在 2011 个右指针中,有 115 个指针非空,则空指针个数为 2011-115 个即有1896 个结点无右孩子,故选 D
先序序列为 a, b, c, d 的不同二叉树的个数是 ( )
A. 13 B. 14 C. 15 D. 16
解:
- 前序序列和中序序列的关系相当于以前序序列为入栈次序,以中序序列为出栈次序。因为前序序列和中序序列可以唯一地确定一棵二叉树,所以题意相当于:以序列 a,b,c,d 为入栈次序,则出栈序列的个数为?则出栈序列一共有 \(\frac{1}{n+1}C_{2n}^n\) 种,故选 B
下列选项给出的是从根分别到达两个叶结点路径上的权值序列,能属于同一棵哈夫曼树的是 ( )
A. 24, 10, 5 和 24, 10, 7 B. 24, 10, 5 和 24, 12, 7
C. 24, 10, 10 和 24, 14, 11 D. 24, 10, 5 和 24, 14, 6
解:
- C 选项,由第一个序列中的 10,10 可以得到有个叶子权值是 0。第二个序列的 14,11 知道有个叶子是4。四个权值 10,0,11,4 是原始序列中的权值,按理说 0,4 最小,应该组合在一起,但是这里没有。所以是错误的树形,则错误。B 选项,如果 24 是第一个序列的,第二个序列的权值应当是 14,但 B 选项却是指向 12,所以序列错误。A 选项同 B 选项,错误。故 D 选项正确
任何一棵二叉树的叶子结点在其先序、中序、后序遍历序列种的相对位置 ( )
A. 肯定发生变化 B. 有时发生变化 C. 肯定不发生变化 D. 无法确定
解:距离一个最简单的二叉树,选 C
若二叉树采用二叉链表存储结构,要交换其所有分支节点左、右子树的位置,利用 ( ) 遍历方法最合适
A. 前序 B. 中序 C. 后序 D. 按层次
解:
- 本题 A C 均可,采用递归遍历。A 是若二叉树非空,则交换左右子树,在先序递归交换左子树,先序递归交换右子树。C 是若二叉树非空,后序交换左子树,后序递归交换右子树,最后交换根结点的左右子树
当一棵有n个结点的二叉树按层次从上到下,同层次从左到右将数据存放在一维数组A[1..n]中时,数组中第i个结点的左孩子为 ( )
A. A[2i] B. A[2i+1] C. A[i-2] D. 条件不充分,无法确定
解:
- 必须得是完全二叉树才能确定,如果是则选 B。该题未给出,所以无法确定,选 D
由 3 个结点可以构造出多少种不同的有向树? ( )
A. 2 B. 3 C. 4 D. 5
解:有向树的概念是恰有一个顶点入度为 0,其余顶点入度为 1,选 A,具体解析见牛客网
一棵树共有n个节点的数,其中所有分支节点的度均为k,则该数中叶子节点的个数为 ( )
A. n × (k - 1) / k B. n / k C. (n + 1) / k D. (n × k - n + 1) / k
解:
- 设叶子结点个数为 n0,则有分支数 n - 1 = (n g- n0) × k,所以n0 = (n × (k - 1) + 1] / k
具有 n 个结点,其路径长度最短的二叉树是 ( )
A. 哈夫曼树 B. 完全二叉树 C. AVL 树 D. 二叉排序树
解:
- 树的路径长度是从树根到树中每一结点的路径长度之和.在结点数目相同的二叉树中,完全二叉树的路径长度最短,选 B。哈夫曼树是带权路径长度最小的树。
一个深度为 k 的,具有最少结点数的完全二叉树按层次,用自然数依次对结点编号,则编号最小的叶子结点的序号为 ____________
解:
- 填 \(2^{k-2}+1\)。编号最小的叶子结点不是第 k 层第一个结点,而是第 k 层第一个结点的父结点的右兄弟,第 k 层第一个结点序号为 \(2^{k-1}\),则其父结点序号为 \(\frac{2^{k-1}}{2}\),由此得出其右兄弟结点

浙公网安备 33010602011771号