加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

二叉树知识选择题

(2018-09-24 11:04:12)
分类: 基本数据结构
1、一棵完全二叉树的结点总数为18,其叶结点数为     ( C )   
   A.7个           B.8个             C.9个           D.10个
设n0为零度节点(叶子),n1是一度节点(一条边),n2是两个儿子节点
存在完全二叉树性质三:
n0=n2+1。n=n0+n1+n2
 -> n= 2*n2 +n1+1 =18;  且n1 非0即1
->n1==1,n2=8
所以答案 n0==n2+1==9个。

2、 二叉树第10层的结点数的最大数目为    (C) 
   A.10            B.100              C.512           D.1024
二叉树第k层的结点数是 2^(k-1) ,所以是512个。

3、一棵深度为K的满二叉树有(  )个结点。//二叉树性质一;
   A.2^K-1          B.2^K                C.2*K           D.2*K-1

4、对任何一棵二叉树T,设n0、n1、n2分别是度数为0、1、2的顶点数,则下列判断中正确的是(A)。
     A.n0=n2+1        B.n1=n0+1             C. n2=n0+1       D.n2=n0+1
//性质三

5、一棵n个节点的完全二叉树,则该二叉树的高度h为(  D )。// 性质四
   A.log(n)           B.log2^n            C.logn^2       D.[log2^n]+1
//中括号[]是取floor意,log2^n指“2为低的对数n”

6、一棵完全二叉树上有1001个结点,其中叶子结点的个数是  ( D ) 
   A.250           B.500             C.254            D.501
//由性质三n=n0+n1+n2 && n0=n2+1可得
同上,1001=2*n2 +n1+1 //n1非0即1,这里只能是1
所以n2=500,n0=n2+1=501;

7、如果一棵二叉树有N个度为2的节点,M个度为1的节点,则该树的叶子个数为   (A)  
   A. N+1          B. 2 * N-1         C.N-1            D. M+N-1
//由性质三n0=n2+1可得

8、一棵非空二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树一定满足  ( C )    
   A.所有结点均无左孩子              B.所有的结点均无右孩子
   C.只有一个叶子结点                D.是任意一棵二叉树
//此题课本答案A错误,采用五种形态核对,AB均是充分条件,“一定满足”指必要条件,因此选C。
     http://s3/mw690/005U6Roxzy7puL9xiMia2&690
先序    ABC                 ABC                   ABC                ABC                   ABC
后序             CBA                 CBA                   BCA                CBA                   CBA
显然,只能选C

9、将有关二叉树的概念推广到三叉树,则一棵有244个结点的完全三叉树的高度是   ( C )  
   A.4              B.5               C.6              D.7
//二叉树性质四是 h=[log2^n]+1,三叉树就是h=[log3^n]+1=[log3^(27*9+1)]+1 > 5+1==6
//此题课本答案B也是错误的;

10、在一棵具有K层的满三叉树中,结点总数为  ( A )        
   A.(3^k-1)/2        B.3^k-1            C.(3^k-1)/3       D.3^k

11、设树T的高度为4,其中度为1、2、3和4的结点个数分别为4、2、1、1,则T中的叶子数为 ( D )。
        A.5              B.6               C.7              D.8

这题的要点,是把“结点下面的度”转换为“结点上面的指针”, 每一个结点都对应着一个指针,
因此树的结点数是全部指针数加1;所以n=n0+n1+n2+n3+n4 = 1+n1+2*n2+3*n3+4*n4;
n0方程的左右侧已经没有其他未知数,n0 = 1+n2+2*n3+3*n4,如此类推计算得到8;

12、一棵树T有2个度数为2的结点、有1个度数为3的结点、有3个度数为4的结点,那么树T有( A  )个树叶。
   A.14             B.6               C.18             D.7
//同上:*n =2*2+3*1+3*4=19, 因此结点是加1=20;叶子是20-(2+1+3)=14;

13、某二叉树中序序列为abcdefg,后序序列为bdcafge,则前序序列是   ( B )    
   A.egfacbd        B.eacbdgf         C.eagcfbd       D.以上答案都不对

14、已知某二叉树的中序遍历序列是debac,后序遍历序列是dabec,则它的前序遍历序列是  ( D ) 。
      A.a c b e d       B.d e c a b        C.d e a b c       D.c e d b a

15、一颗二叉树的中序遍历序列为DGBAECHF,后序遍历序列为GDBEHFCA,则前序遍历序列是 (B)。
   A. ABCDFGHE   B. ABDGCEFH   C. ACBGDHEF   D. ACEFHBGD

16、已知一棵二叉树的前序序列为ABDEGCFH,中序序列为DBGEACHF,则该二叉树的层次序列为 ( C )。
      A.GEDHFBCA   B.DGEBHFCA    C.ABCDEFGH         D.ACBFEDHG

17、已知一棵二叉树的前序遍历结果为ABDECFHJIG,中序遍历的结果为DBEAJHFICG,则这棵二叉树的深度为  ( C )
   A.3             B.4             C.5          D.6

18、二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK,中序遍历:HFIEJKG。
  该二叉树根的右子树的根是 ( C )。
   A. E            B. F             C. G        D.H

19、中缀表达式A-(B+C/D)*E的后缀形式是  ( D )       
     A.AB-C+D/E*    B.ABC+D/-E*     C.ABCD/E*+-     D.ABCD/+E*-

20、设森林F对应的二叉树为B,它有M个结点,B的根为P,P的右子树结点个数为N,森林F中第一棵树的结点个数是  ( A ) 
   A.M-N         B.M-N-1          C.N+1         D.条件不充分,无法确定

由森林变成二叉树的做法,是保留每树的左边一枝,把其他全部连续去掉,然后将同层的连起来,——>所以,第二个树的根,就会连到第一树的右子树上。而第一棵树的结点,无论如何会保留在左子树,同时终止于第二棵树的左枝(因为被保留了)。
所以答案是M-N

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有