二叉树练习题答案

合集下载

数据结构叉树习题含答案

数据结构叉树习题含答案

第6章树和二叉树1.选择题(1)把一棵树转换为二叉树后,这棵二叉树的形态是()。

A.唯一的B.有多种C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子(2)由3 个结点可以构造出多少种不同的二叉树?()A.2 B.3 C.4 D.5(3)一棵完全二叉树上有1001个结点,其中叶子结点的个数是()。

A.250 B. 500 C.254 D.501(4)一个具有1025个结点的二叉树的高h为()。

A.11 B.10 C.11至1025之间 D.10至1024之间(5)深度为h的满m叉树的第k层有()个结点。

(1=<k=<h)A.m k-1 B.m k-1 C.m h-1 D.m h-1(6)利用二叉链表存储树,则根结点的右指针是()。

A.指向最左孩子 B.指向最右孩子 C.空 D.非空(7)对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用()遍历实现编号。

A.先序 B. 中序 C. 后序 D. 从根开始按层次遍历(8)若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用()遍历方法最合适。

A.前序 B.中序 C.后序 D.按层次(9)在下列存储形式中,()不是树的存储形式?A.双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法D.顺序存储表示法(10)一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()。

A.所有的结点均无左孩子B.所有的结点均无右孩子C.只有一个叶子结点 D.是任意一棵二叉树(11)某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。

A.空或只有一个结点 B.任一结点无左子树C.高度等于其结点数 D.任一结点无右子树(12)若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为()。

A.X的双亲 B.X的右子树中最左的结点C.X的左子树中最右结点 D.X的左子树中最右叶结点(13)引入二叉线索树的目的是()。

树和二叉树习题集与答案解析

树和二叉树习题集与答案解析

一、填空题1. 不相交的树的聚集称之为森林。

2. 从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是_树可采用孩子-兄弟链表(二叉链表)做存储结构,目的是利用二叉树的已有算法解决树的有关问题。

3. 深度为k的完全二叉树至少有2 k-1个结点。

至多有2 k-1个结点,若按自上而下,从左到右次序给结点编号(从1开始),则编号最小的叶子结点的编号是2 k-2+1。

4. 在一棵二叉树中,度为零的结点的个数为n 0,度为2的结点的个数为n 2,则有n0= n2+1。

5. 一棵二叉树的第i(i≥1)层最多有2 i-1个结点;一棵有n(n>0)个结点的满二叉树共有(n+1)/2个叶子和(n-1)/2个非终端结点。

6.现有按中序遍历二叉树的结果为abc,问有5种不同形态的二叉树可以得到这一遍历结果。

7. 哈夫曼树是带权路径最小的二叉树。

8. 前缀编码是指任一个字符的编码都不是另一个字符编码的前缀的一种编码方法,是设计不等长编码的前提。

9. 以给定的数据集合{4,5,6,7,10,12,18}为结点权值构造的Huffman 树的加权路径长度是165 。

10. 树被定义为连通而不具有回路的(无向)图。

11. 若一棵根树的每个结点最多只有两个孩子,且孩子又有左、右之分,次序不能颠倒,则称此根树为二叉树。

12. 高度为k,且有个结点的二叉树称为二叉树。

2k-1 满13. 带权路径长度最小的二叉树称为最优二叉树,它又被称为树。

Huffman14. 在一棵根树中,树根是为零的结点,而为零的结点是结点。

入度出度树叶15. Huffman树中,结点的带权路径长度是指由到之间的路径长度与结点权值的乘积。

结点树根16. 满二叉树是指高度为k,且有个结点的二叉树。

二叉树的每一层i上,最多有个结点。

2k-1 2i-1二、单选题1. 具有10个叶结点的二叉树中有(B) 个度为2的结点。

(A)8 (B)9 (C)10 (D)112.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用_(3)次序的遍历实现编号。

二叉树习题及答案(考试学习)

二叉树习题及答案(考试学习)

1.设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数?1根据“二叉树的第i层至多有2^(i − 1)个结点;深度为k的二叉树至多有2^k − 1个结点(根结点的深度为1)”这个性质:因为2^9-1 < 699 < 2^10-1 ,所以这个完全二叉树的深度是10,前9层是一个满二叉树,这样的话,前九层的结点就有2^9-1=511个;而第九层的结点数是2^(9-1)=256 所以第十层的叶子结点数是699-511=188个;现在来算第九层的叶子结点个数。

由于第十层的叶子结点是从第九层延伸的,所以应该去掉第九层中还有子树的结点。

因为第十层有188个,所以应该去掉第九层中的188/2=94个;所以,第九层的叶子结点个数是256-94=162,加上第十层有188个,最后结果是350个2完全二叉树:若二叉树中最多只有最下面两层的结点的度可以小于2,并且最下面一层的结点(叶结点)都依次排列在该层最左边的位置上,这样的二叉树为完全二叉树。

比如图:完全二叉树除叶结点层外的所有结点数(叶结点层以上所有结点数)为奇数,此题中,699是奇数,叶结点层以上的所有结点数为保证是奇数,则叶结点数必是偶数,这样我们可以立即选出答案为B!如果完全二叉树的叶结点都排满了,则是满二叉树,易得满二叉树的叶结点数是其以上所有层结点数+1比如图:此题的其实是一棵满二叉树,我们根据以上性质,699+1=700,700/2=350,即叶结点数为350,叶结点层以上所有结点数为350-1=349。

3完全二叉树中,只存在度为2的结点和度为0的结点,而二叉树的性质中有一条是:n0=n2+1;n0指度为0的结点,即叶子结点,n2指度为2的结点,所以2n2+1=699 n2=349;n0=3502.在一棵二叉树上第5层的结点数最多是多少一棵二叉树,如果每个结点都是是满的,那么会满足2^(k-1)1。

所以第5层至多有2^(5-1)=16个结点!3.在深度为5的满二叉树中,叶子结点的个数为答案是16 ~ 叶子结点就是没有后件的结点~ 说白了~ 就是二叉树的最后一层~ 深度为K的二叉树~ 最多有2^k-1个结点~ 最多有2^(k-1)个结点~ 所以此题~ 最多有2^5-1=31个结点~ 最多有2^(5-1)=16个叶子结点~4.某二叉树中度为2的结点有18个,则该二叉树中有几个叶子结点?结点的度是指树中每个结点具有的子树个数或者说是后继结点数。

桂电数据结构实验二叉树答案

桂电数据结构实验二叉树答案

桂电数据结构实验二叉树答案1. 对于一棵具有n个结点、度为4的树来说,_______________。

[单选题] *A. 树的高度至多是n-3(正确答案)B. 树的高度至多是n-4C. 第i层上至多有4*(i-1)个结点D. 至少在某一层上正好有4个结点2. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是___________。

[单选题] *A. 250B. 501(正确答案)C. 254D. 5053. 在高度为h的完全二叉树中,______________________。

[单选题] *A. 度为0的结点都在第h层上B. 第i (1≤i≤ h)层上结点都是度为2的结点C. 第i (1≤i < h)层上有个结点(正确答案)D. 不存在度为1的结点4. 若二叉树的中序遍历序列是abcdef,且c为根结点,则________________。

[单选题] *A. 结点c有两个孩子(正确答案)B. 二叉树有两个度为0的结点C. 二叉树的高度为5D. 以上都不对5. 在任何一棵二叉树中,如果结点a有左孩子b和右孩子c,则在结点的先序序列、中序序列和后序序列中,___________。

[单选题] *A. 结点b一定在结点a的前面B. 结点a一定在结点c的前面C. 结点b一定在结点c的前面(正确答案)D. 结点a一定在结点b的前面6. 设n、m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是___________。

[单选题] *A. n在m的右方B. n是m的祖先C. n在m的左方(正确答案)D. n是m的子孙7. 如果在一棵二叉树的先序序列、中序序列和后序序列中,结点a、b的位置都是a在前、b在后(形如…a…b…),则___________ 。

[单选题] *A. a、b可能是兄弟(正确答案)B. a可能是b的双亲C. a可能是b的孩子D. 不存在这样的二叉树8. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是_________。

二叉树练习题及答案

二叉树练习题及答案

一、选择题1.关于二叉树的下列说法正确的是(B )A.二叉树的度为2 B.二叉树的度可以小于2C.每一个结点的度都为2 D .至少有一个结点的度为2 2.在树中,若结点A有4个兄弟,而且B是A的双亲,则B的度为(C )A.3 B.4C.5 D .63.若一棵完全二叉树中某结点无左孩子,则该结点一定是(D )A.度为1的结点B.度为2的结点C.分支结点 D .叶子结点4.深度为k的完全二叉树至多有(C )个结点,至少有( B )个结点。

A.2k-1-1 B.2k-1C.2k-1 D .2k5.在具有200个结点的完全二叉树中,设根结点的层次编号为1,则层次编号为60的结点,其左孩子结点的层次编号为( C 2i ),右孩子结点的层次编号为( D 2i+1),双亲结点的层次编号为(60/2=30 A )。

A.30 B.60C.120 D .1216.一棵具有124个叶子结点的完全二叉树,最多有(B )个结点。

A.247 B.248C.249 D .250二、填空题1.树中任意结点允许有零个或多个孩子结点,除根结点外,其余结点有且仅有一个双亲结点。

2.若一棵树的广义表表示法为A(B(E,F),C(G(H,I,J,K),L),D(M (N))),则该树的度为 4 ,树的深度为 4 ,树中叶子结点的个数为8 。

3.若树T中度为1、2、3、4的结点个数分别为4、3、2、2,则T中叶子结点的个数为14 。

n=n0+n1+n2+n3+n4=n0+4+3+2+2=n0+11n=1+孩子=1+4+6+6+8+25n0+11=25n0=144.一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数是n-2m+1 。

5.深度为k(k>0)的二叉树至多有2k -1 个结点,第i层上至多有2i-1个结点。

6.已知二叉树有52个叶子结点,度为1的结点个数为30,则总结点个数为133 。

7.已知二叉树中有30个叶子结点,则二叉树的总结点个数至少是30+29+0=59 。

数据结构二叉树习题含答案

数据结构二叉树习题含答案

第6章树和二叉树1.选择题(1)把一棵树转换为二叉树后,这棵二叉树的形态是()。

A.唯一的B.有多种C.有多种,但根结点都没有左孩子D.有多种,但根结点都没有右孩子(2)由3 个结点可以构造出多少种不同的二叉树?()A.2 B.3 C.4 D.5(3)一棵完全二叉树上有1001个结点,其中叶子结点的个数是()。

A.250 B. 500 C.254 D.501(4)一个具有1025个结点的二叉树的高h为()。

A.11 B.10 C.11至1025之间 D.10至1024之间(5)深度为h的满m叉树的第k层有()个结点。

(1=<k=<h)A.m k-1 B.m k-1 C.m h-1 D.m h-1(6)利用二叉链表存储树,则根结点的右指针是()。

A.指向最左孩子 B.指向最右孩子 C.空 D.非空(7)对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用()遍历实现编号。

A.先序 B. 中序 C. 后序 D. 从根开始按层次遍历(8)若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用()遍历方法最合适。

A.前序 B.中序 C.后序 D.按层次(9)在下列存储形式中,()不是树的存储形式?A.双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法D.顺序存储表示法(10)一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()。

A.所有的结点均无左孩子B.所有的结点均无右孩子C.只有一个叶子结点 D.是任意一棵二叉树(11)某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。

A.空或只有一个结点 B.任一结点无左子树C.高度等于其结点数 D.任一结点无右子树(12)若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为()。

A.X的双亲 B.X的右子树中最左的结点C.X的左子树中最右结点 D.X的左子树中最右叶结点(13)引入二叉线索树的目的是()。

数据结构 第六章 树和二叉树作业及答案

数据结构 第六章 树和二叉树作业及答案

第六章树和二叉树作业一、选择题(每题2分,共24分)。

1. 一棵二叉树的顺序存储情况如下:树中,度为2的结点数为( C )。

A.1 B.2 C.3 D.42. 一棵“完全二叉树”结点数为25,高度为(B )。

A.4 B.5 C.6 D.不确定3.下列说法中,(B )是正确的。

A. 二叉树就是度为2的树B. 二叉树中不存在度大于2的结点C. 二叉树是有序树D. 二叉树中每个结点的度均为24.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是(B )。

A. CABDEFGB. BCDAEFGC. DACEFBGD. ADBCFEG5.线索二叉树中的线索指的是(C )。

A.左孩子 B.遍历 C.指针 D.标志6. 建立线索二叉树的目的是(A )。

A. 方便查找某结点的前驱或后继B. 方便二叉树的插入与删除C. 方便查找某结点的双亲D. 使二叉树的遍历结果唯一7. 有 D )示意。

A.B.C.D.8. 一颗有2046个结点的完全二叉树的第10层上共有(B )个结点。

A. 511B. 512C. 1023D. 10249. 一棵完全二叉树一定是一棵(A )。

A. 平衡二叉树B. 二叉排序树C. 堆D. 哈夫曼树10.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是( C )的二叉树。

A .空或只有一个结点B .高度等于其结点数C .任一结点无左孩子D .任一结点无右孩子11.一棵二叉树的顺序存储情况如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A B C D E 0 F 0 0 G H 0 0 0 X结点D 的左孩子结点为( D )。

A .EB .C C .FD .没有12.一棵“完全二叉树”结点数为25,高度为( B )。

A .4B .5C .6D .不确定二、填空题(每空3分,共18分)。

1. 树的路径长度:是从树根到每个结点的路径长度之和。

对结点数相同的树来说,路径长度最短的是 完全 二叉树。

数据结构课后习题(第6章)

数据结构课后习题(第6章)

【课后习题】第6章树和二叉树网络工程2010级()班学号:姓名:一、填空题(每空1分,共16分)1.从逻辑结构看,树是典型的。

2.设一棵完全二叉树具有999个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个度为1的结点。

3.由n个权值构成的哈夫曼树共有个结点。

4.在线索化二叉树中,T所指结点没有左子树的充要条件是。

5.在非空树上,_____没有直接前趋。

6.深度为k的二叉树最多有结点,最少有个结点。

7.若按层次顺序将一棵有n个结点的完全二叉树的所有结点从1到n编号,那么当i为且小于n时,结点i的右兄弟是结点,否则结点i没有右兄弟。

8.N个结点的二叉树采用二叉链表存放,共有空链域个数为。

9.一棵深度为7的满二叉树有___ ___个非终端结点。

10.将一棵树转换为二叉树表示后,该二叉树的根结点没有。

11.采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的遍历结果是一样的。

12.一棵Huffman树是带权路径长度最短的二叉树,权值的外结点离根较远。

二、判断题(如果正确,在对应位置打“√”,否则打“⨯”。

每题0.5分,共5分)1.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。

2.二叉树的前序遍历并不能唯一确定这棵树,但是,如果我们还知道该二叉树的根结点是那一个,则可以确定这棵二叉树。

3.一棵树中的叶子结点数一定等于与其对应的二叉树中的叶子结点数。

4.度≤2的树就是二叉树。

5.一棵Huffman树是带权路径长度最短的二叉树,权值较大的外结点离根较远。

6.采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的前序遍历结果是一样的。

7.不存在有偶数个结点的满二叉树。

8.满二叉树一定是完全二叉树,而完全二叉树不一定是满二叉树。

9.已知二叉树的前序遍历顺序和中序遍历顺序,可以惟一确定一棵二叉树;10.已知二叉树的前序遍历顺序和后序遍历顺序,不能惟一确定一棵二叉树;三、单项选择(请将正确答案的代号填写在下表对应题号下面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、下面是有关二叉树的叙述,请判断正误
(∨)1. 若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中
只有n—1个非空指针域。

( X )2.二叉树中每个结点的两棵子树的高度差等于1。

(∨)3.二叉树中每个结点的两棵子树是有序的。

( X )4.二叉树中每个结点有两棵非空子树或有两棵空子树。

( X)5.二叉树中所有结点个数是2k-1-1,其中k是树的深度。

( X )6.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。

( X )7.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最
多能有2i-1个结点。

(∨)8.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。

( X )9. 具有12个结点的完全二叉树有5个度为2的结点。

二、填空
1.由3个结点所构成的二叉树有 5 种形态。

2. 一棵深度为6的满二叉树有 26-33 个分支结点和 32 个叶子。

3.一棵具有257个结点的完全二叉树,它的深度为 9 。

4. 设一棵完全二叉树具有1000个结点,则此完全二叉树有500 个叶子结点,有 499 个度为2的结点,有 1 个结点只有非空左子树,有 0 个结点只有非空右子树。

(分析:完全二叉树中三种节点个数n0,n1,n2,其中
n1为0或1;n0=n2+1;总节点个数N=n0+n1+n2=n0+n1+n0-1=2*n0-1+n1.由此推
出当完全二叉树中节点个数为偶数时n1为1,否则为0,则可计算本题)
5. 二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。

因而二叉
树的遍历次序有六种。

最常用的是三种:前序法(即按N L R次序),后序法(即
按 LRN 次序)和中序法(也称对称序法,即按L N R次序)。

这三种方法
相互之间有关联。

若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是 FEGHDCB 。

6. 用5个权值{3, 2, 4, 5, 1}构造的哈夫曼(Huffman)树的带权路径长度
是 (1+2)*3+3*2+(4+5)*2= 33 。

7.一个深度为h的二叉树最多有 2h-1 结点,最少有 h 结点。

三、选择题
1.二叉树是非线性数据结构,所以。

(A)它不能用顺序存储结构存储; (B)它不能用链式存储结构存储;
(C)顺序存储结构和链式存储结构都能存储; (D)顺序存储结构和链式存储结构都不能使用
2. 具有n(n>0)个结点的完全二叉树的深度为。

(A) ⎡log2(n)⎤ (B) ⎣log2(n)⎦ (C) ⎣log2(n) ⎦+1 (D) ⎡log2(n)+1⎤
3.把一棵树转换为二叉树后,这棵二叉树的形态是。

(A)唯一的(B)有2种
(C)有多种,但根结点都没有左孩子(D)有多种,但根结点都没有右孩子
4. 树是结点的有限集合,它 A 根结点,记为T。

其余的结点分成为m(m ≥0)个 B
的集合T1,T2,…,Tm,每个集合又都是树,此时结点T称为T i的父结点,T i 称为T的子结点(1≤i≤m)。

一个结点的子结点个数为该结点的 C 。

供选择的答案
A:①有0个或1个②有0个或多个③有且只有1个④有1个或1个以上
B: ①互不相交②允许相交③允许叶结点相交④允许树枝结点相交
C:①权②度③次数④序
答案:A= B= C=
四、简答题
1. 给定如图所示二叉树T
2. 把如图所示的树转化成二叉树,分别按先
序、中序、后序遍历时得到的结点序列。

3.假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。

试为这8个字母设计哈夫曼编码。

使用0~7的二进制表示形式是另一种编码方案。

对于上述实例,比较两种方案的优缺点。

4.叙述二叉树的性质3,并证明
五、算法
1.写出对二叉树的先序,中序,后序遍历的算法。

2.编写求一棵二叉树叶子结点个数的算法。

3. 编写求一棵二叉树深度的算法
六.算法填空题
1.下面是对二叉树进行中序线索化,请填充落掉的语句
typedef struct node
{ int data;
int lt, rt;
struct node *lc, *rc;
} *JD;
status midindex(JD bt)
{ p=bt ; pr=NULL;
if (!p) return 0;
initstack(S);
while ( )
{ if (p)
{ push(S,p);
p=p->lchild; } else
{ p=pop(S);
if(p->lc= =NULL)
{
}
if(pr&&pr->rc==NULL)
{
}
pr=p;
;
}//endelse
}//endwhile
pr->rt=1 ;
return 1;
}。

相关文档
最新文档