当前位置:
文档之家› 《数据结构》习题汇编06第六章树和二叉树试题
《数据结构》习题汇编06第六章树和二叉树试题
4
19. 若 有一个结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍 历结果序列的最后一个结点。
20. 若 有一个叶子结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前 序遍历结果序列的最后一个结点。
21. 若 有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中 序遍历结果序列的最后一个结点。
,分别写出先根、后根、
4. 已知一棵二叉树的前序和中序序列,求该二叉树的后序序列。 前序序列: A, B, C, D, E, F, G, H, I, J 中序序列: C, B, A, E, F, D, I, H, J, G 后序序列: ______________________
2. 当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它 逐层向下调整,直到调整到合适位置为止。
3. 二叉树是一棵无序树。
4. 在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和后序遍历,则具 有相同的遍历结果。
5. 在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行中序遍历和后序遍历,则具 有相同的遍历结果。
3. 叶子 8. 6 13. 2 h
18. 2i+2 23. n 1 -1
4. 2 9. 63 14. 2 h+1 -1
19. 最小值 24. 19
5. 3 10. 3 15. 2 20. 最大值
3
三、判断题
1. 当向一个小根堆(最小堆)中插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整 到堆顶位置为止。
15. 若 将一棵树 A (B (C, D, E), F (G (H), I) ) 叉树中度为 2 的结点个数为 ______ 个。
按照左子女 - 右兄弟表示法转换为二叉树,该二
16. 一 棵树按照左子女 - 右兄弟表示法转换成对应的二叉树,则该二叉树中
______ 结点肯定没有右子女。
17. 在 一个堆的顺序存储中, 若一个元素的下标为 i ( 0≤ i ≤n-1 ),则它的左子女元素的下标为 ______ 。
)。
A. 55
B. 29
C. 58
D. 38
17. 一 棵树的广义表表示为 a (b, c (e, f (g) ), d)
非空的结点个数为(
)。
A. 1
B. 2
C. 3
,当用左子女 - 右兄弟链表表示时,右指针域 D. 4
18. 向 具有 n 个结点的堆中插入一个新元素的时间复杂度为(
一棵二叉树的广义表表示为 A (B ( , D (G) ), C (E, F) ) 序、后序、按层遍历的结果。 前序: __________________________ 中序: __________________________ 后序: __________________________ 按层: __________________________
24. 将 含有 82 个结点的完全二叉树从根结点开始顺序编号,根结点为第
0 号,其他结点自上向下,同一
层自左向右连续编号。则第 40 号结点的双亲结点的编号为 ________ 。
参考答案:
1. n-1 6. 4 11. 6 16. 根 21. 132
2. 树根 7. 85 12. 4 17. 2i+1 22. n 2 +n 3+n 4
9. 对于一棵具有 n 个结点,其高度为 h 的二叉树,进行任一种次序遍历的时间复杂度为
O(n) 。
10. 对 于一棵具有 n 个结点,其高度为 h 的二叉树,进行任一种次序遍历的时间复杂度为
O(h) 。
11. 对 于一棵具有 n 个结点的任何二叉树,进行前序、中序或后序的任一种次序遍历的空间复杂度为 O(log 2n) 。
,结点 f 的层
6. 假定一棵三叉树(即度为 3 的树)的结点个数为 50 ,则它的最小高度为 ______ 。假定根结点的高度 为 0。
7. 在一棵高度为 3 的四叉树中,最多含有 ______ 结点。
8. 在一棵三叉树中,度为 3 的结点数有 2 个,度为 2 的结点数有 1 个,度为 1 的结点数为 2 个,那么 度为 0 的结点数有 ______ 个。
,分别写出对它进行前序、中
3. 假定一棵普通树的广义表表示为 按层遍历的结果。
a (b (e), c (f (h, i, j), g), d)
先根: __________________________
后根: __________________________
按层: __________________________
第六章 树和二叉树 试题
一、单项选择题
1. 树中所有结点的度等于所有结点数加(
)。
A. 0
B. 1
C. -1
D. 2
2. 在一棵树中, (
A.
分支结点
)没有前驱结点。 B. 叶结点
C. 根结点
D. 空结点
3. 在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加(
A. 2
B. 1
C. 0
)。 D. -1
2
9. 一棵高度为 5 的完全二叉树中,最多包含有 ______ 个结点。假定根结点的高度为 0 。
10. 假 定一棵树的广义表表示为 A (B (C, D (E, F, G), H (I, J) ) ) 假定根结点的高度为 0 。
,则该树的高度为 ______ 。
11. 在 一棵二叉树中,假定度为 2 的结点个数为 5 个,度为 1 的结点个数为 6 个,则叶结点数为 ______ 个。
2. 在一棵树中, ______ 结点没有前驱结点。
3. 在一棵树中, ______ 结点没有后继结点。
4. 一棵树的广义表表示为 a (b (c, d (e, f), g (h) ), i (j, k (x, y) ) ) 有祖先的结点数为 ______ 个。
,结点 k 的所
5. 一棵树的广义表表示为 a (b (c, d (e, f), g (h) ), i (j, k (x, y) ) ) 数为 ______ 。假定根结点的层数为 0 。
12. 在 一棵具有 n 个结点的线索化二叉树中,每个结点的指针域可能指向子女结点,也可能作为线索,使
之指向某一种遍历次序的前驱或后继结点,所有结点中作为线索使用的指针域共有
n 个。
13. 线 索化二叉树中的每个结点通常包含有 5 个数据成员。
14. 线 索化二叉树中的每个结点通常包含有 3 个数据成员。
A.
(n-1)/2
B. n/2
C. n/2
)。假定树根结点的编号为 0 。 D. n/2 -1
9. 在一棵完全二叉树中,若编号为
点的编号为 0
A. 2i
B. 2i-1
i 的结点存在左孩子,则左子女结点的编号为(
C. 2i+1
D. 2i+2
)。假定根结
10. 在 一棵完全二叉树中,假定根结点的编号为
为(
18. 在 一个堆的顺序存储中, 若一个元素的下标为 i ( 0≤ i ≤n-1 ),则它的右子女元素的下标为 ______ 。
19. 在 一个小根堆(即最小堆)中,堆顶结点的值是所有结点中的
______ 。
20. 在 一个大根堆(即最大堆)中,堆顶结点的值是所有结点中的 21. 6 个结点可构造出 ________ 种不同形态的二叉树。
<F, I>} ,则该树的高度为(
)。假定根结点的高度为 0。
A. 2
B. 3
C. 4
D. 5
15. 利 用 n 个值作为叶结点上的权值生成的霍夫曼树中共包含有(
A. n
B. n+1
C. 2*n
)个结点。 D. 2*n-1
16. 利 用 3, 6, 8, 12 这四个值作为叶结点的权值生成一棵霍夫曼树,该树的带权路径长度为(
6. 在一棵高度为 h (假定根结点的层号为 0 )的完全二叉树中,所含结点个数不小于(
)。
A. 2
h-1
B. 2 h+1
C. 2 h-1
D. 2 h
7. 在一棵具有 35 个结点的完全二叉树中,该树的高度为(
A. 5
B. 6
C. 7
)。假定空树的高度为 -1 。 D. 8
8. 在一棵具有 n 个结点的完全二叉树中,分支结点的最大编号为(
B. O(n)
C. O(log 2n) D. O(nlog
2 n)
参考答案:
1. C 6. D 11. A 16. A
2. C 7. A 12. B 17. C
3. A 8. D 13. B 18. C
4. C 9. C 14. B
5. A 10. B 15. D
二、填空题
1. 对于一棵具有 n 个结点的树,该树中所有结点的度数之和为 ______ 。
4. 在一棵具有 n 个结点的二叉树中,所有结点的空子树个数等于(
A. n
B. n-1
C. n+1
)。 D. 2*n
5. 在一棵具有 n 个结点的二叉树的第 i 层上(假定根结点为第 0 层,i 大于等于 0 而小于等于树的高度) ,
最多具有(
A. 2
i
)个结点。 B. 2 i+1
C. 2 i-1
D. 2 n
)。
A.
(i+1)/2
B. (i-1)/2
0 ,则对于编号为 i ( i >0 )的结点,其双亲结点的编号
C. i/2