2. (单选题, 3分)一颗有n个结点的树的所有结点的度数之和为( )。
- A. n-1
- B. n
- C. n+1
- D. 2n
解析:树的度数等于孩子的个数,也等于边数,n个节点的树一共有n-1条边,所以度数之和为n-1.
4. (单选题, 3分)在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶节点个数是
- A. 41
- B. 82
- C. 113
- D. 122
解析:总结点数 = 度数之和 + 1。即n = 4*20 + 3*10 + 2*1 + 1*10 + 1,n = 123, n0 = 123 - 20 - 10 - 1 - 10 = 82.
6. (单选题, 3分)以下说法正确的是
- A. 在完全二叉树中,叶子结点的双亲的左兄弟(若存在)一定不是叶子结点
- B. 任何一颗二叉树中,叶子结点个数是度为2的结点数-1
- C. 完全二叉树不能使用顺序存储结构
- D. 结点按照完全二叉树编号的二叉树中,第i个节点的左孩子的编号一定是2i
解析:D:左孩子的编号是根据根节点的编号确定的,如果根节点是0,左孩子等于2*i+1。如果根节点为1,左孩子才为2*i
14. (单选题, 3分)一个有n个结点的二叉树采用二叉链表存储结点,其中空指针数为
- A. n
- B. n+1
- C. n-1
- D. 2n
解析:一个二叉链表包含2个指针,现在一共2*n个指针,除根节点外每个节点占据一个空间,所以空指针数等于2*n - (n-1) = n + 1.
18. (填空题, 6分)已知一颗完全二叉树的第6层(设根为第1层)有8个叶子结点,则该完全二叉树的结点个数最少有( )个,最多有几个( )。
解析:最少情况:第6层没满,总结点 n = 2^(k-1)-1 + 8 = 39(k是完全差树的层数)。最多情况:第6层满:n = 2^(7-1) - 1+ (2^(6-1)-8)*2 = 111 (紫色:前6层总结点数,蓝色:第6层节点数-第6层叶子节点,乘2代表第6层非叶子节点的孩子节点)
11. (单选题)下面选项中,中序线索二叉树为
- A.
- B.
- C.
- D.
答案:A
解析:要找的是中序线索二叉树,所以,将图中二叉树用中序遍历写出来,字符i前面的对应左孩子,后面的对应右孩子(当左(右)孩子没有时,才指向前驱或后继).
19. (单选题)下列关于哈夫曼树说法错误的是
- A. 对应一组权值构造出来的哈夫曼树不唯一
- B. 哈夫曼树是具有最小带权路径长度的树
- C. 哈夫曼树中结点的度为2和0
- D. 哈夫曼树是一种完全二叉树
21. (单选题)一颗哈夫曼树中共有215个结点,对其进行哈夫曼编码,则共能得到( )个不同的编码。
- A. 107
- B. 108
- C. 214
- D. 215
解析:哈夫曼树只有度为0和2的节点,且叶子结点 = 非叶子节点 + 1,n = n0 + n2
= 2*n0 - 1; n0 = 108.(叶子节点是需要编码的)
1. 树最适合用来表示 的数据。
元素之间具有分支层次关系