树与二叉树复习试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 一棵深度为6的满二叉树有()个分支结点和()个叶子。
2.一棵具有257个结点的完全二叉树,它的深度为()。
3.设一棵完全二叉树有700个结点,则共有()个叶子结点。
4. 设一棵完全二叉树具有1000个结点,则此完全二叉树有()个叶子结点,有(
)个度为2的结点,有()个结点只有非空左子树,有()个结点只有非空右子树。
5. 一棵含有n个结点的k叉树,可能达到的最大深度为(),最小深度为()。
6. 二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。因而二叉树的遍历次序有六种。最常用的是三种:()()和()。这三种方法相互之间有关联。若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是(F E G H D C B )。
7.中序遍历的递归算法平均空间复杂度为()。
8.用5个权值{3, 2, 4, 5, 1}构造的哈夫曼(Huffman)树的带权路径长度是()。
9.在二叉树中,指针p所指结点为叶子结点的条件是(p->lchild==null && p->rchlid==null )。
10.深度为k的完全二叉树至少有_______个结点,至多有_______个结点。
11.高度为8的完全二叉树至少有______个叶子结点。
12.具有n个结点的二叉树中,一共有________个指针域,其中只有________个用来指向结点的左右孩子,其余的________个指针域为NULL。
13.树的主要遍历方法有________、________、________等三种。
14.一个深度为k的,具有最少结点数的完全二叉树按层次,(同层次从左到右)用自然数依此对结点编号,则编号最小的叶子的序号是______;编号是i的结点所在的层次号是______(根所在的层次号规定为1层)。
15.如果结点A有3个兄弟,而且B是A的双亲,则B的度是______。
16.二叉树的先序序列和中序序列相同的条件是______。
17.一个无序序列可以通过构造一棵______树而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。
18.若一个二叉树的叶子结点是某子树的中序遍历序列中的最后一个结点,则它必是该子树的______序列中的最后一个结点。
19.若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是______。
20.以下程序段采用先根遍历方法求二叉树的叶子数,请在横线处填充适当的语句。
V oid countleaf(bitreptr t,int *count)/*根指针为t,假定叶子数count的初值为0*/
{
if(t!=NULL)
{
if((t->lchild==NULL)&&(t->rchild==NULL))________;
countleaf(t->lchild,&count);
________ ;
}
}
参考答案:
1.(1)n1+n2=0+n2=n0-1=31 (2)26-1=32
2. 9
3. 350
4. 500 499 1 0
5. n 2
6. 前序法中序法后序法 F E G H D C B
7. O(n)
8. 33
9. p->lchild==null && p->rchlid==null
10. 2k-1 2k-1
11. 64
12. 2n n-1 n+1
13. 先序遍历后序遍历中序遍历
14. (1)2k-2+1 (2)log(2i)+1
15. 4
16. 任何结点至多只有右子女的二叉树。
17. 二叉排序树
18. 前序
19. 69
20. *count++, countleaf(l->rchile,count)