树与二叉树的练习题

合集下载

第五章树和二叉树习题

第五章树和二叉树习题

第五章树和二叉树一.选择题1.在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,那么度为0的结点数为()A.4个B.5个C.6个D.7个2.某二叉树结点的中序序列为a、b、c、d、e、f、g,后序序列为b、d、c、a、f、g、e,则其左子树中结点数目为()A.3 B.2 C.4 D.53.设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为M1、M2和M3。

与森林F对应的二叉树根结点的左子树上的结点个数是()A.M1 B.M1+M2 C.M3 D.M2+M34。

对于一棵具有n个结点、度为4的树来说,()A.树的高度至多是n-3 B.树的高度至多是n-3C.第i 层上至多有4*(i-1)个结点D.至少在某一层上正好有4个结点5.在下列存储结构中,()不是树的存储形式A.双亲表示法B.孩子链表示法C.孩子兄弟链表示法D.顺序存储表示法6.二叉树若用顺序方法存储,则下列4种运算中的()最容易实现。

A.先序遍历二叉树B.判断两个指定结点是不是在同一层上C.层次遍历二叉树D.根据结点的值查找其存储位置7.一个完全二叉树上有1001个结点,其中叶子结点的个数是()A.250 B.501 C.254 D。

5058.在高度为h的完全二叉树中()A.度为0的结点都在第h 层上B.第I (1<=i<=h)层上结点都是度为2的结点C.第I (1<=i<=h-1)层上有2i-1个结点D.不存在度为1的结点9.若一刻二叉树具有10个度为2的节点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定10.若二叉树的中序遍历序列是abcdef,且c为根结点,则()A.结点c有两个孩子B.二叉树有两个度为0的结点C.二叉树的高度为5 D.以上都不对11.在任何一棵二叉树中,如果结点a 有左孩子b、右孩子c,则在结点的先序序列、中序序列、后序序列中,()A.结点b一定在结点a的前面B.结点a一定在结点c的前面C.结点b一定在结点c的前面D.结点a一定在结点b的前面12.若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最合适。

数据结构(树和二叉树)练习题与答案2

数据结构(树和二叉树)练习题与答案2

1、一颗二叉树的括号表示为“1(2(4,5(6,7)),3)”)。

设N代表二叉树的根,L代表根节点的左子树,R代表根节点的右子树。

若遍历后的节点序列为3,1,7,5,6,2,4,则其遍历方式是()。

A.NRLB.RLNC.LRND.RNL正确答案:D2、若二叉树(每个节点值为单个字符)的中序遍历序列是abcdef,且c为根节点,则()。

A.二叉树有两个度为0的节点B.二叉树的高度为5C.节点c有两个孩子D.以上都不对正确答案:C解析: C、从中序序列看出,节点c的左右子树均不空。

3、若知道一棵二叉树的(),便可以唯一确定该二叉树。

A.中序序列B.先序和后序序列C.中序和后序序列D.先序序列正确答案:C4、一棵二叉树的先序遍历序列为ABCDEFG,它的中序遍历序列可能是()。

A.ADCFEGB.ABCDEFGC.DACEFBGD.CABDEFG正确答案:B解析: B、当一棵二叉树所有节点的左子树为空时,先序遍历序列和中序遍历序列相同。

先序序列和中序序列可以确定一棵二叉树,这里由选项A、C和D的中序序列无法确定一棵二叉树。

5、一棵二叉树的先序遍历序列为ABCDEF,中序遍历序列为CBAEDF,则后序遍历序列为()A.FEDCBAB.CBEFDAC.CBEDFAD.不确定正确答案:B6、某棵二叉树中,X节点有左孩子Y节点,则在其先序遍历中()。

A.访问Y节点后,接着遍历Y节点的左子树,然后访问X节点B.访问X节点后,接着遍历Y节点的左子树,然后访问Y节点C.访问Y节点后立即访问X节点D.访问X节点后立即访问Y节点正确答案:D解析: D、其先序遍历序列为…XY…。

7、关于二叉树(含2个以上的节点)的先序遍历序列中,以下正确的是()。

A.先序遍历序列的最后一个节点是根节点B.先序遍历序列的最后一个节点一定是叶子节点C.以上都不对D.先序遍历序列的第一个节点一定是叶子节点正确答案:B解析: B、先序遍历过程是:NLR,最后访问的节点的L、R均为空,所以为叶子节点。

树和二叉树(习题及作业)

树和二叉树(习题及作业)

• 3下列各项叙述中,正确的是 。 • A) 二叉树中每个结点有两个子结点,而对 一般的树则无此限制 • B) 用树的前序遍历和中序遍历可以推导出 树的后续遍历 • C) 在二叉树中插入结点,该二叉树便不再 是二叉树 • D) 用一维数组存储二叉树,总是以前序遍 历顺序存储结点
• • • • •
第6章 树和二叉树
• 1.如果二叉树中任何一个结点的值都小于它 的左子树上所有结点的值,且大于右子树 上所有结点的值,要得到个结点值的递增 序列,应按下列 次序排列结点。 • A) 先根 • B) 中根 • C) 后根 • D) 层次
• 2.设森林F中有3棵树。第一、第二和第三棵 树的结点个数分别是m1,m2和m3,则与森 林F对应的二叉树根结点的右子树上的结点 个数是 。 • A) m3 • B) m2 + m3 • C) m1 •B) 孩子链表表示法 C) 孩子兄弟表示法 D) 顺序存储表示法
不是树的存储形式。
• 假设用于通信的电文由字符集{a,b,c,d,e,f,g} 中的字母构成。它们在电文中出现的频度 分别为{0.31,0.16,0.10,0.08,0.11,,0.20,0.04}, • 为这7个字母设计哈夫曼编码; • 计算其带权路径长度

习题5 树和二叉树

习题5  树和二叉树

习题5 树和二叉树一、选择题:1.在具有n个结点的完全二叉树中,结点i(i>1)的父结点是()A.2i B.不存在C.2i+1 D.⌊ i/2⌋2. 有m个叶结点的哈夫曼树所具有的结点数为()A.m B.m+1 C.2m D.2m - 13. 下列陈述中正确的()A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中必有度为2的结点D.二叉树中最多只有两棵子树,并且有左右之分4. 以二叉链表作为二叉树的存储结构,在具有n个结点的二叉链表中(n>0),空链域的个数为()A.2n - 1 B.n - 1 C.n + 1 D.2n + 15. 将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为()A.99 B.98 C.50 D.486. 在一棵具有五层的满二叉树中,结点总数为()A.31 B.32 C.33 D.167. 在一棵二叉树中,第5层上的结点数最多为()A.8 B.15 C.16 D.328. 由二叉树的()遍历,可以惟一确定一棵二叉树A.前序和后序B.前序和中序C.后序D.中序9. 具有35个结点的完全二叉树的深度为()。

A.5B.6C.7D.810. 已知一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJGK,则该二叉树根的右子树的根是()。

A.E B. F C. G D. J11. 由4个结点构造出的不同的二叉树个数共有()。

A.8 B. 10 C.12 D.1412. 在完全二叉树中,如果一个结点是叶子结点,则它没有()。

A.左孩子结点B. 右孩子结点C.左、右孩子结点D.左、右孩子结点和兄弟结点13. 深度为6的二叉树最多有()个结点。

A.64 B.63 C.32 D.3114. 二叉树使用二叉链表存储,若p指针指向二叉树的一个结点,当p->lchild=NULL时,则()。

树和二叉树习题

树和二叉树习题

1.若在一棵非空树中,某结点A有3个兄弟结点(包括A自身),B是A的双亲结点,则B的度是()。

A. 2B. 3C. 4D. 52.有关二叉树下列说法正确的是()A.二叉树的度为2B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2D.二叉树中任何一个结点的度都为23.将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子的编号为()。

A.98B.99C.50D.484.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点至少为()。

A.hB.2h-1C.2h+1D.h+15.假定在一棵二叉树中,双分支结点数为15个,单分支结点数为32个,则叶子结点数为。

A. 15B. 16C. 17D. 476.假定一棵二叉树的结点数为18个,则它的最小高度。

A. 4B. 5C. 6D. 187.在一棵二叉树中第五层上的结点数最多为。

A. 8B. 15C. 16D. 328.在一棵具有五层的满二叉树中,结点总数为。

A. 31B. 32C. 33D. 169.一个有31个结点的满二叉树,其深度有()。

A.5层B. 6层C. 7层D.8层10.一个具有767个结点的完全二叉树,其叶子结点个数为()。

A. 383B. 384C. 385D. 38611.设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 。

则T中的叶子数为()。

A.5 B.6 C.7 D.812.某二叉树中序序列为abcdefg,后序序列为bdcafge,则前序序列是()。

A. egfacdbB. eacbdgfC. eagcfbdD.上面的都不对13.设A、B为一棵二叉树上的两个结点。

在中序遍历时,A在B前面的条件是()。

A. A在B的右方B. A在B的左方C. A是B的祖先D. A是B的子孙14.在N个结点的线索二叉树中,线索的数目为()A.N-1B.NC.N+1D.2N15.引入二叉线索树的目的是()A.加快查找结点的前驱或后继的速度B.为了能在二叉树中方便的进行插入与删除C.为了能方便的找到双亲D.使二叉树的遍历结果惟一16.设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是()A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定17.在有n个叶子结点的哈夫曼树中,其分支结点(非叶子结点)的总数为( )。

数据结构(树和二叉树)练习题与答案1

数据结构(树和二叉树)练习题与答案1

1、树最适合用来表示()。

A.元素之间无联系的数据B.元素之间具有层次关系的数据C.无序数据元素D.有序数据元素正确答案:B2、现有一“遗传”关系,设x是y的父亲,则x可以把他的属性遗传给y。

表示该遗传关系最适合的数据结构为()。

A.线性表B.树C.数组D.图正确答案:B3、一棵节点个数为n、高度为h的m(m≥3)次树中,其分支数是()。

A.n+hB.h-1C.n-1D.nh正确答案:C4、若一棵3次树中有2个度为3的节点,1个度为2的节点,2个度为1的节点,该树一共有()个节点。

A.11B.5C.8D.10正确答案:A解析: A、对于该3次树,其中有n3=2,n2=1,n1=2,总分支数=总度数=n-1,总度数=1×n1+2×n2+3×n3=10,则n=总度数+1=11。

5、设树T的度为4,其中度为1、2、3、4的节点个数分别为4、2、1、1,则T中的叶子节点个数是()。

A.6B.8C.7D.5正确答案:B解析: B、这里n1=4,n2=2,n3=1,n4=1,度之和=n-1=n1+2n2+3n3+4n4=15,所以n=16,则n0=n-n1-n2-n3-n4=16-8=8。

6、有一棵三次树,其中n3=2,n2=1,n0=6,则该树的节点个数为()。

A.9B.12C.大于等于9的任意整数D.10正确答案:C解析: C、n=n0+n1+n2+n3=6+n1+1+2=9+n1。

7、假设每个节点值为单个字符,而一棵树的后根遍历序列为ABCDEFGHIJ,则其根节点值是()。

A.JB.BC.以上都不对D.A正确答案:A8、一棵度为5、节点个数为n的树采用孩子链存储结构时,其中空指针域的个数是()。

A.4nB.4n-1C.4n+1D.5n正确答案:C解析: C、总指针数=5n,非空总指针数=分支数=n-1,空指针域的个数=5n-(n-1)=4n+1。

9、有一棵三次树,其中n3=2,n2=2,n1=1,该树采用孩子兄弟链存储结构时,则总的指针域数为()。

树和二叉树习题及答案

树和二叉树习题及答案

树和二叉树习题及答案一、填空题1. 不相交的树的聚集称之为森林。

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

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

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

4. 在一棵二叉树中,度为零的结点的个数为n,度为2的结点的个数为n2,则有n= 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、已知一算术表达式的中缀形式为 A-B/C+D*E,前缀形式为+-A/BC*DE,其后缀形式为( )。

A.ABC/-DE*+B.AB/C-D*E+C. A-BC/DE*+D. ABCDE/-*+正确答案:A2、有关二叉树下列说法正确的是()。

A.二叉树中任何一个结点的度都为2B.一棵二叉树的度可以小于2C.二叉树中每个结点的度都为2D.二叉树中至少有一个结点的度为2正确答案:B3、在一棵高度为k的满二叉树中,结点总数为()。

A.2k-1B. 2k-1C. 2k-1+1D.2k正确答案:B4、某二叉树中有60个叶子结点,则该二叉树中度为2的结点个数为()。

A.不确定B.60C.59D.61正确答案:C解析:任意二叉树中,n0=n2+15、高度为7的完全二叉树,最少有()个结点。

A.127B.128C.63D.64正确答案:D解析:前6层都是满的,最后一层(第7层)近1个结点。

可保证题目条件。

6、高度为7的二叉树,最少有()个结点。

A.7B.127C.13D.64正确答案:A解析:每层只有1个结点。

共7个即可构成一个高度为7的二叉树。

7、对任意一棵有n个结点的树,这n个结点的度之和为( )。

A.n-1B.2*nC.n+2D.n正确答案:A解析:所有结点的度之和为分支个数,分支个数即为结点个数-18、在下列存储形式中,()不是树的存储形式。

A.双亲表示法B.孩子-兄弟表示法C.孩子链表表示法D.顺序存储表示法正确答案:D9、对二叉树中的结点进行编号,要求根结点的编号最小,左孩子结点编号比右孩子结点编号小。

则应该采用()遍历方法对其进行编号。

A.层次B.先序C.后序D.中序正确答案:B10、某二叉树中有60个叶子结点,则该二叉树中度为2的结点个数为()。

A. 59B.61C.60D.不一定正确答案:A11、树的后根遍历,相当于对应二叉树的()遍历。

A.中序B.后序C.层次D.先序正确答案:A二、判断题1、完全二叉树一定存在度为1的结点。

数据结构——树和二叉树练习

数据结构——树和二叉树练习

∑3
i =1
3பைடு நூலகம்
i −1
数 据 结 构 — 树 和 二 叉 树
C E
5.假定一棵树的广义表表示为 A(B(C,D(E,F,G),H(I,J))),则树中所含的结点数为 ________个,树的深度为________,树的度为 ________。
解释: 解释:
A
B D F G I
H J
数 据 结 构 — 树 和 二 叉 树
数 据 结 构 — 树 和 二 叉 树
解释:与二叉树类似,根据二叉树的性质3类推,三叉树 解释:与二叉树类似,根据二叉树的性质3类推,
n +1 =4 的最小深度为完全三叉树,所以最小深度为 log3 的最小深度为完全三叉树,
2.假定一棵三叉树的结点个数为50,则它的最 小深度为________,最大深度为_______。
数 据 结 构 — 树 和 二 叉 树
4.一棵深度为5的满二叉树中的结点数为 ________个,一棵深度为3的满三叉树中的结 点数为________个。
解释:根据二叉树的性质3,深度为5的二叉树的结点个数 解释:根据二叉树的性质3 深度为5 为25-1=31,同理深度为3的满三叉树的结点总数为 1=31,同理深度为3
数 据 结 构 — 树 和 二 叉 树
9.现用七个字符a,b,c,d,e,f,g进行信息传输,使用时出 现的概率分别为6%,14%,16%,4%,12%,20%,28%,构造 一棵哈夫曼树,对它们进行编码,并计算出带权路 径长度WPL和平均编码长度。
6 解释: 解释: 14 42 16 4 12 20 6 28 4 WPL=(6+4)*4+(12+14+16)*3+(20+28)*2=588 Lavg=588/100=5.88 20 22 28 30 58 100

树与二叉树的练习题

树与二叉树的练习题

习题一、选择题1.有一“遗传”关系:设x是y的父亲,则x可以把它的属性遗传给y。

表示该遗传关系最适合的数据结构为()。

A.向量B.树 C图 D.二叉树2.树最合适用来表示()。

A.有序数据元素 B元素之间具有分支层次关系的数据C无序数据元素 D.元素之间无联系的数据3.树B的层号表示为la,2b,3d,3e,2c,对应于下面选择的()。

(2b(3d,3e),2c)B.a(b(D,e),c)C.a(b(d,e),c)D.a(b,d(e),c)4.高度为h的完全二叉树至少有()个结点,至多有()个结点。

A.2h_lB.h C.2h-1 D.2h5.在一棵完全二叉树中,若编号为f的结点存在右孩子,则右子结点的编号为()。

A.2iB.2i-lC.2i+lD.2i+26.一棵二叉树的广义表表示为a(b(c),d(e(,g(h)),f)),则该二叉树的高度为 ()。

A.3B.4C.5D.67.深度为5的二叉树至多有()个结点。

A.31B.32C.16D.108.假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。

A.15B.16C.17D.479.题图6-1中,()是完全二叉树,()是满二叉树。

10.在题图6-2所示的二叉树中:(1)A结点是A.叶结点 B根结点但不是分支结点C根结点也是分支结点 D.分支结点但不是根结点(2)J结点是A.叶结点 B.根结点但不是分支结点C根结点也是分支结点 D.分支结点但不是根结点(3)F结点的兄弟结点是A.EB.D C.空 D.I(4)F结点的双亲结点是A.AB.BC.CD.D(5)树的深度为A.1B.2C.3D.4(6)B结点的深度为A.1B.2C.3D.4(7)A结点所在的层是A.1B.2C.3D.411.在一棵具有35个结点的完全二叉树中,该树的深度为()。

A.5B.6C.7D.812.一棵有124个叶结点的完全二叉树,最多有()个结点。

树和二叉树自测试题

树和二叉树自测试题

第六章树一.名词解释:1树2。

结点的度3。

叶子4。

分支点5。

树的度6.父结点、子结点7兄弟8结点的层数9树的高度10二叉树11空二叉树12左孩子、右孩子13孩子数14满二叉树15完全二叉树16211、___根2、是A的3、_____4、5、6、对任何二叉树,若度为2的节点数为n2,则叶子数_____。

7、满二叉树上各层的节点数已达到了二叉树可以容纳的_最大值_____。

满二叉树也是_完全二叉树_____二叉树,但反之不然。

8、具有n个结点的完全二叉树的深度为______。

9、如果将一棵有n个结点的完全二叉树按层编号,则对任一编号为i(1<=i<=n)的结点X有:(1)若i=1,则结点X是_根_____;若i〉1,则X的双亲PARENT(X)的编号为__i/2取整____。

(2)若2i>n,则结点X无_左孩子_____且无_右孩子_____;否则,X的左孩子LCHILD(X)的编号为__2i____。

10.11.12.空,则13.___指14.中只有15与__三叉链表______。

16.可通过在非完全二叉树的“残缺”位置上增设“__虚结点_____”将其转化为完全二叉树。

**17.以下程序段采用先根遍历方法求二叉树的叶子数,请在横线处填充适当的语句。

Voidcountleaf(bitreptrt,int*count)/*根指针为t,假定叶子数count的初值为0*/{if(t!=NULL){if((t->lchild==NULL)&&(t->rchild==NULL))___*count++_____;countleaf(t->lchild,&count);_}}181920后序遍历**21断,每个__终端节点______对应一种分类结果。

22.设定T是一判定树,其终端结点为n1,……,n k。

每个终端结点ni对应的百分为pi(通常将p i称为n1的权)。

树和二叉树-练习题

树和二叉树-练习题

A.先序 B.中序
C.后序
D.层次
9.由权值为7,19,2,6,32,3,21,10的结点构成的赫 夫曼树的带权路径长度为 ( )
A. 271
B. 261
C. 241 D. 231
10.在有n个叶子结点的哈夫曼树中,其结点总数为( ) 。
A. 不确定 B. 2n
C. 2n+1 D. 2n-1
2021/4/9
A
B
C
D EH F
G
先序遍历序列:ABDEGCHF
2021/4/9
5
2.画出下列存储结构对应的二叉树,并将其转换成对应的 森林。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 ABD 0 CEH0 0 0 0 FG I
A
B
D
C
E
H
FG I
A
D
H
BC EG I
F
2021/4/90, 12, 4,11}为权值的哈夫曼树(权值
1
5.在任何一棵二叉树中,如果结点a有左孩子b,右孩子c, 则在结点的先序序列、中序序列、后序序列中, ( )
A.结点b一定在结点a的前面
B.结点a一定在结点c的前面
C.结点b一定在结点c的前面
D.结点a一定在结点b的前面
6.设森林T中有3棵树,第一、二、三棵树的结点个数分别 是n1、n2、n3,那么当把森林T转换成一棵二叉树后, 根结点的右子树上有( ) 个结点。
A. n1+n2+n3
B. n2+n3
C. n1+n2
D. n1+n3
2021/4/9
2
7.如果在树的孩子兄弟链存储结构中有6个空的左指针域, 7个空的右指针域,则该树中树叶的个数为( )

数据结构第六章树和二叉树习题及答案

数据结构第六章树和二叉树习题及答案

习题六树和二叉树一、单项选择题1.以下说法错误的是 ( )A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种"分支层次"结构E.任何只含一个结点的集合是一棵树2.下列说法中正确的是 ( )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于23.讨论树、森林和二叉树的关系,目的是为了()A.借助二叉树上的运算方法去实现对树的一些运算B.将树、森林按二叉树的存储方式进行存储C.将树、森林转换成二叉树D.体现一种技巧,没有什么实际意义4.树最适合用来表示 ( )A.有序数据元素 B.无序数据元素C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。

与森林F 对应的二叉树根结点的右子树上的结点个数是()。

A.M1 B.M1+M2 C.M3 D.M2+M37.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A. 250 B. 500 C.254 D.505 E.以上答案都不对8. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )A.不确定 B.2n C.2n+1 D.2n-19.二叉树的第I层上最多含有结点数为()A.2I B. 2I-1-1 C. 2I-1 D.2I -110.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点A.2h B.2h-1 C.2h+1 D.h+111. 利用二叉链表存储树,则根结点的右指针是()。

A.指向最左孩子 B.指向最右孩子 C.空 D.非空12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。

练习题 _树和二叉树

练习题 _树和二叉树

第六、七章的练习题一、选择题1.任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对次序()。

A.不发生改变 B.发生改变 C.不能确定 D.以上都不对2.设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是()。

A.n在m右方 B.n是m的祖先 C.n在m的左方 D.n是m的子孙3.具有33个结点的完全二叉树的深度为(),有()个叶子结点,有()个度为1的结点。

(1)A.5 B.6 C.7 D.8(2)A.14 B.15 C.16 D.17(3)A.0 B.1 C.12 D.164.已知一棵二叉树有50个叶子结点,30个度为1的结点,则该二叉树的总结点数为()。

A.129 B.130 C.131 D.1325.设森林有三棵树组成,第一、第二和第三棵树中的结点个数分别为m1、m2和m3。

那么在由该森林转化成的二叉树中根结点的右子树上的结点个数是()。

A.m1+m2 B.m2+m3 C.m1+m3 D.m1+m2+m36.用n个权值构造出来的哈夫曼树的结点个数是()。

A.2n-1 B.2n C.2n+1 D.n+17.在下列关于二驻树遍历的说法中错误的是()。

A.在一棵二叉树中,假定每个结点最多只有左子女,没有右子女,对它分别进行先序遍历和后序遍历将得到相同的结点序列;B.在一棵二叉树中,假定每个结点最多只有左子女,没有右子女,对它分别进行中序遍历和后序遍历将得到相同的结点序列;C.在一棵二叉树中,假定每个结点最多只有左子女,没有右子女,对它分别进行先序遍历和层次遍历将得到相同的结点序列;D.在一棵二叉树中,假定每个结点最多只有右子女,没有左子女,对它分别进行先序遍历和中序遍历将得到相同的结点序列;8.在下列关于二叉树遍历的说法中正确的是()。

A.若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的先序遍历结果序列的最后一个结点;B.若有一个结点是二叉树中某个子树的先序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点;C.若有一个叶子结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的先序遍历结果序列的最后一个结点;D.若有一个叶子结点是二叉树中某个子树的先序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点;9.先序为A、B、C,后序为C、B、A的二叉树共有()个。

树和二叉树练习new

树和二叉树练习new


线索二叉树是一种( 线索二叉树是一种(
结构。 C )结构。
A.逻辑 逻辑 C.物理 物理
B.逻辑和存储 逻辑和存储 D.线性 线性

将图中的二叉树按中序线索化, 将图中的二叉树按中序线索化,结 的右指针和Y 点X的右指针和 的左指针分别指向 的右指针和 ( (3) )。 (2) B,C (1)A,D ) , (3) D,A (4)C,A ) ,
A B C Y X D E

树的基本遍历策略可分为先根遍历和后根遍 二叉树的基本遍历策略可分为先序遍历, 历;二叉树的基本遍历策略可分为先序遍历, 中序遍历和后序遍历。这里, 中序遍历和后序遍历。这里,把由树转化得到 的二叉树叫做这棵树对应得二叉树。 的二叉树叫做这棵树对应得二叉树。下面结论 正确的是( 正确的是( )。 A.树的先根遍历序列与其对应的二叉树的先序 . 遍历序列相同 B.树的后序遍历序列与其对应的二叉树的后序 . 遍历序列相同 C.树的先根遍历序列与其对应的二叉树的中序 . 遍历序列相同 D.以上都不对 .
• 任何一棵二叉树的叶结点在先序,中 任何一棵二叉树的叶结点在先序, 叶结点在先序 序和后序遍历中的相对次序( 序和后序遍历中的相对次序(A)。 A.不发生改变 B. 发生改变 . C.不能确定 D.以上,在中 为一棵树上的两个结点, 为一棵树上的两个结点 序遍历时, 在 前的条件是 C 前的条件是( 序遍历时,n在m前的条件是( )。 A. n在m右方 B. n是m祖先 在 右方 是 祖先 C. n在m左方 D. n是m 子孙 在 左方 是
2k-2—1+2 倒数第三层的最后一个结点的编 号为2 结点) 号为 k-2—1(C结点) ( 结点 编号最小的叶子结点为E 编号最小的叶子结点为 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题一、选择题1.有一“遗传”关系:设x是y的父亲,则x可以把它的属性遗传给y。

表示该遗传关系最适合的数据结构为()。

A.向量B.树 C图 D.二叉树2.树最合适用来表示()。

A.有序数据元素 B元素之间具有分支层次关系的数据C无序数据元素 D.元素之间无联系的数据3.树B的层号表示为la,2b,3d,3e,2c,对应于下面选择的()。

(2b(3d,3e),2c)B.a(b(D,e),c)C.a(b(d,e),c)D.a(b,d(e),c)4.高度为h的完全二叉树至少有()个结点,至多有()个结点。

A.2h_lB.h C.2h-1 D.2h5.在一棵完全二叉树中,若编号为f的结点存在右孩子,则右子结点的编号为()。

A.2iB.2i-lC.2i+lD.2i+26.一棵二叉树的广义表表示为a(b(c),d(e(,g(h)),f)),则该二叉树的高度为 ()。

A.3B.4C.5D.67.深度为5的二叉树至多有()个结点。

A.31B.32C.16D.108.假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。

A.15B.16C.17D.479.题图6-1中,()是完全二叉树,()是满二叉树。

10.在题图6-2所示的二叉树中:(1)A结点是A.叶结点 B根结点但不是分支结点C根结点也是分支结点 D.分支结点但不是根结点(2)J结点是A.叶结点 B.根结点但不是分支结点C根结点也是分支结点 D.分支结点但不是根结点(3)F结点的兄弟结点是A.EB.D C.空 D.I(4)F结点的双亲结点是A.AB.BC.CD.D(5)树的深度为A.1B.2C.3D.4(6)B结点的深度为A.1B.2C.3D.4(7)A结点所在的层是A.1B.2C.3D.411.在一棵具有35个结点的完全二叉树中,该树的深度为()。

A.5B.6C.7D.812.一棵有124个叶结点的完全二叉树,最多有()个结点。

A.247 B.248 C.249 D.25013.用顺序存储的方法将完全二叉树中所有结点逐层存放在数组R[1,n]中,结点R[i]若有左子树,则左子树是结点()。

A.R[2i+l]B.R[2i]C.R[i/2]D.R[2i-1]14.在一非空二叉树的中序遍历序列中,根结点的右边()。

A.只有右子树上的所有结点B.只有右子树上的部分结点C.只有左子树上的部分结点D.只有左子树上的所有结点15.一棵度为m的树中,有ni个度为1的结点,有n2个度为2的结点……,有nm个度为m的结点,则该树的叶结点数为()。

A.n1+n2+...+nmB.(m-l)nm+...+n2+1C.n1+n2+1D.nl-n216.已知某二叉树的中序遍历序列是debac,后序遍历序列是dabec,它的前序遍历序列是()。

A.acbedB.decabC.deabcD.cedba17.在一棵二叉树的二叉链表中,空指针域等于所有非空指针域数加()。

A.2B.1C.0D.-118.线索二叉树是一种()结构。

A.逻辑 B.逻辑和存储 C.物理 D.线性19.由权值分别是8,7,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。

A.23B.37 C.46 D.4320.设T是哈夫曼树,具有5个叶结点,树T的高度最高可以是()。

A.2B.3C.4D.5二、填空题1.对于一棵具有n个结点的树,该树中所有结点的度数之和为____。

2.在树型结构中,树根结点没有____结点,其余每个结点有且只有____个前驱结点:叶子结点没有____结点,其余每个结点可以有____后继结点。

3.有一棵树如题图6-3所示,回答下面的问题。

这棵树的根点是____;叶子结点是____;结点k3的度是____;结点k3的子女是____;结点k3的父结点是____;这棵树的度为____;这棵树的深度是____。

4.假定一棵树的广义表表示为A(B(E),C(F(H,I,J,G),D),则该树的度为____,树的深度为____,终端结点的个数为____,单分支结点的个数为____,双分支结点的个数为____,3分支结点的个数为____,C结点的双亲结点为____,其孩子结点为____。

5.一棵深度为h的满k叉树有如下性质:第h层上的结点都是叶子结点,其余各层上的每个结点都有k棵非空子树。

如果按层次顺序(同层自左至右)从1开始对全部结点编号,则:(1)第i层结点数目是____。

(2)编号为n的结点的双亲结点(若存在)的编号是____。

(3)编号为n的结点的第i个孩子结点(若存在)的编号是____。

(4)编号为n的结点有右兄弟的条件是____:其右兄弟的编号是____。

6.前序遍历一棵树相当于____树中对应的二叉树,后序遍历一棵树则相当于树中对应的二叉树。

7.二叉树的遍历分为____,树与森林的遍历包括____。

8.一棵二叉树的第i(i>=1)层最多有____个结点;一棵有n(n>0)个结点的满二叉树共有____个叶子和____个非终端结点。

9.在一棵二叉树中,假定双分支结点数为5个,单分支结点数为6个,则叶子结点为____个。

10.在一棵二叉树中,第五层上的结点数最多为____。

11.对于一棵具有n个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为____个,其中____个用于链接孩子结点,____个空闲着。

12.前序遍历的顺序是ABDGEHICFJ,则二叉树的根是____。

13.从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是____14.结点最少的树为____,结点最少的二叉树为____。

15.一棵完全二叉树按层次遍历的序列为ABCDEFGHI,则在前序遍历中结点E的直接前驱为____,后序遍历中结点B的直接后继是____。

16.某二叉树的中序遍历序列为ABCDEFG,后序序列为BDCAFGE,则该二叉树结点的前序序列为____,该二叉树对应的森林包括____棵树。

17.用一维数组存放的一棵完全二叉树如题图6-4所示。

则后序遍历该二叉树时结点访问的顺序为____。

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

19.由带权为3,9,6,2,5的5个叶子结点构成一棵哈夫曼树,则带权路径长度为____。

20.设F是一个森林,B是由F转换得到的二叉树,F中有n个非终端结点,则B中右指针域为空的结点有____个。

21.二叉树的存储结构分为____,树的存储结构分为____。

三、判断题1.树中任意结点的子树不必是有序的。

()2.树可以看成特殊的无向图。

()3.可以使用双链表表示树型结构。

()4.顺序存储方式只能用于存储线性结构。

()5.完全二叉树的某结点若无左孩子,则必是叶结点。

()6.在叶子数目和权值相同的所有二叉树中,最优二叉树一定是完全二叉树。

() 7.由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树。

()8.二叉树的前序遍历序列中,任意一个结点均处在其子树结点的前面。

() 9.二叉树的前序和后序遍历序列能惟一确定这棵二叉树。

()10.中序线索二叉树中,右线索若不为空,则一定指向其父结点。

()四、算法和操作题1.假定一棵二叉树广义表表示为a(b(c),d(e,D),分别写出对它进行前序、中序、后序遍历的结果。

前序:中序:后序:2.已知一棵二叉树的中序和后序序列,求该二叉树的高度和双支、单支及叶子结点数。

中根序列:c,b,d,e,a,g,i,h,j,f后根序列:c,e,d,b,i,j,h,g,fa高度:双支:单支:叶子:3.已知一棵树边的集合为{<I<SPAN>,M>,<I<SPAN>,N>,<E<SPAN>,I>,<B<SPAN>,E>,<B<SPAN>,D>,<A<SPAN>,B>,<G<SPAN>,J>,<G<SPAN>,K>,<C<SPAN>,G>,<C<SPAN>,F>,<H<SPAN>,L>,<C<SPAN>,H>,<A<SPAN>,C>),请画出这棵树,并回答下列问题:(1)哪个是根结点? (2)哪些是叶子结点?(3)哪个是结点G的双亲? (4)哪些是结点G的祖先?(5)哪些是结点G的孩子? (6)哪些是结点E的子孙?(7)哪些是结点E的兄弟?哪些是结点F的兄弟?(8)结点B和N的层次号分别是什么? (9)树的深度是多少?(10)以结点C为根的子树的深度是多少?4.将算术表达式((a+b)+c*(d+e)+f*(g+h)转化为二叉树。

5.一棵二叉树的结点数据采用顺序存储结构,存储于数组BT中,如题表6-1所示。

画出该二叉树的链接表示形式。

数组BT的存放形式是相对于满二叉树中编号为数组下标值的结点值。

若该结点不存在,则取0值。

6.假设前序遍历某棵树的结点次序为SACEFBDGHIJK;后序遍历该树的结点次序为CFEABHGIKJDS,请画出这棵树。

7.已知一棵树如题图6-5所示,将其转换为其孩子兄弟表示的二叉树。

并画出该二叉树的后序线索二叉树。

8.试找出分别满足下列条件的所有二叉树:(1)前序遍历序列和中序遍历序列相同。

(2)中序遍历序列和后序遍历序列相同。

(3)前序遍历序列和后序遍历序列相同。

9.已知信息为“ABCDBCDCBDBACB”,请按此信息构造哈夫曼树,求出每一字符的最优编码。

10.己知中序线索二叉树采用二叉链表存储结构,链结点的构造为:其中若ltag为0,则lchild指向结点的前驱,否则lchild指向左孩子结点;若rtag为0,则rchild指向结点的后继,否则rchild指向右孩子结点。

下面的算法返回x所指结点的直接后继结点的位置。

若该算法有错,则请改正错误;若无错,请写“正确”二字。

BiTree INSUCC(BiTree x){s=X->rchild;if(s->rtag)while(s->ltag)s=s->rchild;returns; )五、算法设计题1.编写对二叉树进行中序遍历的非递归算法,并对算法执行题图6-6所示的二叉树的情况进行跟踪(即给出各阶段栈的变化及输出的结点序列)。

栈已经定义:InitStack(S)(初始化)、Empty(S)(判栈空)、Push(S,p)(入栈)、Pop(S,p)(出栈)等操作。

2.假设在表示一棵二叉树的二叉链表上增加两个域:双亲域用于指示其双亲结点,标志域flag(可取0...2)的值,用以区分在遍历过程中到达该结点时继续向右或向左或访问该结点。

相关文档
最新文档