数据结构第六章树和二叉树习题 (1)
数据结构-6 树和二叉树

第六章树和二叉树一.选择题1. 以下说法错误的是。
A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种"分支层次"结构2. 如图6-2所示的4 棵二叉树中,不是完全二叉树。
图6-2 4 棵二叉树3. 在线索化二叉树中,t 所指结点没有左子树的充要条件是。
A. t->left == NULLB. t->ltag==1C. t->ltag==1 且t->left==NULL D .以上都不对4. 以下说法错误的是。
A.二叉树可以是空集B.二叉树的任一结点最多有两棵子树C.二叉树不是一种树D.二叉树中任一结点的两棵子树有次序之分5. 以下说法错误的是。
A.完全二叉树上结点之间的父子关系可由它们编号之间的关系来表达B.在三叉链表上,二叉树的求双亲运算很容易实现C.在二叉链表上,求根,求左、右孩子等很容易实现D.在二叉链表上,求双亲运算的时间性能很好6. 如图6-3所示的4 棵二叉树,是平衡二叉树。
图6-3 4 棵二叉树7. 如图6-4所示二叉树的中序遍历序列是。
A. abcdgefB. dfebagcC. dbaefcgD. defbagc图6-4 1 棵二叉树8. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是。
A. acbedB. decabC. deabcD. cedba9. 如果T2 是由有序树T 转换而来的二叉树,那么T 中结点的前序就是T2 中结点的。
A. 前序B.中序C. 后序D. 层次序10. 某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序遍历的结点访问顺序是。
A. bdgcefhaB. gdbecfhaC. bdgaechfD. gdbehfca11. 将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双亲结点编号为。
数据结构(树和二叉树)练习题与答案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,该树采用孩子兄弟链存储结构时,则总的指针域数为()。
数据结构习题与答案--树和二叉树

第六章树和二叉树一、判断题( t )01、若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
( f )02、二叉树中每个结点的两棵子树的高度差等于1。
(t )03、二叉树中每个结点的两棵子树是有序的。
( f )04、二叉树中每个结点有两棵非空子树或有两棵空子树。
( f )05、二叉树中所有结点个数是2k-1-1,其中k是树的深度。
(f )06、二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
( f )07、对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i—1个结点。
(t )08、用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(t)09、具有12个结点的完全二叉树有5个度为2的结点。
( f )10、二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。
( f )11、二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索。
( t )12、二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。
二、填空题01、由3个结点所构成的二叉树有_5_种形态。
02、一棵深度为6的满二叉树有____个分支结点和____个叶子。
03、一棵具有257个结点的完全二叉树,它的深度为____。
04、设一棵完全二叉树有700个结点,则共有____个叶子结点。
05、设一棵完全二叉树具有1000个结点,则此完全二叉树有____个叶子结点,有____个度为2的结点,有____个结点只有非空左子树,有____个结点只有非空右子树。
06、一棵含有n个结点的k叉树,可能达到的最大深度为____,最小深度为____。
07、二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。
因而二叉树的遍历次序有六种。
最常用的是三种:前序法(即按N L R次序),后序法(即按LRN次序)和中序法(也称对称序法,即按L N R次序)。
第6章_数据结构习题题目及答案_树和二叉树_参考答案

一、基础知识题6.1设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1,求树T中的叶子数。
【解答】设度为m的树中度为0,1,2,…,m的结点数分别为n0, n1, n2,…, nm,结点总数为n,分枝数为B,则下面二式成立n= n0+n1+n2+…+nm (1)n=B+1= n1+2n2 +…+mnm+1 (2)由(1)和(2)得叶子结点数n0=1+即: n0=1+(1-1)*4+(2-1)*2+(3-1)*1+(4-1)*1=86.2一棵完全二叉树上有1001个结点,求叶子结点的个数。
【解答】因为在任意二叉树中度为2 的结点数n2和叶子结点数n0有如下关系:n2=n0-1,所以设二叉树的结点数为n, 度为1的结点数为n1,则n= n0+ n1+ n2n=2n0+n1-11002=2n0+n1由于在完全二叉树中,度为1的结点数n1至多为1,叶子数n0是整数。
本题中度为1的结点数n1只能是0,故叶子结点的个数n0为501.注:解本题时要使用以上公式,不要先判断完全二叉树高10,前9层是满二叉树,第10层都是叶子,……。
虽然解法也对,但步骤多且复杂,极易出错。
6.3 一棵124个叶结点的完全二叉树,最多有多少个结点。
【解答】由公式n=2n0+n1-1,当n1为1时,结点数达到最多248个。
6.4.一棵完全二叉树有500个结点,请问该完全二叉树有多少个叶子结点?有多少个度为1的结点?有多少个度为2的结点?如果完全二叉树有501个结点,结果如何?请写出推导过程。
【解答】由公式n=2n0+n1-1,带入具体数得,500=2n0+n1-1,叶子数是整数,度为1的结点数只能为1,故叶子数为250,度为2的结点数是249。
若完全二叉树有501个结点,则叶子数251,度为2的结点数是250,度为1的结点数为0。
6.5 某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数是多少。
数据结构习题第六章树和二叉树

数据结构习题第六章树和二叉树一、选择题1 .已知一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为()④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A .①②③B .②③④C .②④D .①④6. 设森林F 对应的二叉树为 B ,它有m 个结点,B 的根为p,p 的右子树结点个数为 n,森林F 中第一棵树的结点个数是()A . m-nB . m-n-1C . n+1D .条件不足,无法确定【南京理工大学 2000一、17 (1.5 分)】7. 树是结点的有限集合,它((1 ))根结点,记为T 。
其余结点分成为 m (m>0 )个((2))的集合T1 , T2 ,…,T m ,每个集合又都是树,此时结点 T 称为Ti 的父结点,Ti 称为T 的子结点(1 < i < m )。
一个结点的子结点个数称为该结点的((3))。
二叉树与树是两个不同的概念,二叉树也是结点的有限集合,它((4 ))根结点。
可以把树的根结点的层数定义为1,其他结点的层数等于其父结点所在层数加上1。
令T 是一棵二叉树,Ki 和Kj 是T中子结点数小于2的结点中的任意两个,它们所在的层数分别为入 Ki 和入Kj ,当关系式丨入Ki-入Kj | < 1 一定成立时,则称 T 为一棵((5))。
供选择的答案:(1 )⑷A.有0个或1个 B.有0个或多个 C.有且只有一个 D.有1个或1个以上C.允许叶结点相交 D .允许树枝结点相交 C.次数D.序C.平衡树D.完全树【上海海运学院 1999、2(5分)】10个度为2的结点,5个度为1的结点,则度为0的结点个数是()C . 15D .不确定【北京工商大学 2001.7(3分)】第六章树和二叉树(2) A. 互不相交B.允许相交(3) A. 权 B.维数 (5)A. 丰满树B.查找树A . -A+B*C/DE -+A*BC/DE【北京航空航天大学 B. -A+B*CD/E-+*ABC/DED.1999 一、3(2 分)】2 .算术表达式a+b* (c+d/e )转为后缀表达式后为(A . ab+cde/*B . abcde/+*+C . abcde/*++ 3. 设有一表示算术表达式的二叉树(见下图),它所表示的算术表达式是()【南京理工大学1999A. A*B+C/(D*E )+(F-G ) C. (A*B+C )/(D*E+4. 设树T 的度为4, 子数为()A . 5【南京理工大学(F-G )) 其中度为1 , B . 6 2000、20 (2分)】B. (A*B+C)/(D*E)+(F-G)D. A*B+C/D*E+F-G2, 3和4的结点个数分别为5. 在下述结论中,正确的是(①只有一个结点的二叉树的度为交换;C . 7 (1.5分)】)【南京理工大学 1999 (1分)】0;②二叉树的度为2 ;③二叉树的左右子树可任意8.若一棵二叉树具有 B . 119 .在一棵三元树中度为 3 的结点数为 2 个,度为 2 的结点数为1 个,度为 1 的结点数为2 个,则度为 0 的结点数为()个B .5C .6D .7 【哈尔滨工业大学 20012 ( 2 分)】10 .设森林 F 中有三棵树,第一,第二,第三棵树的结点个数分别为M1 ,M2 和 M3 。
数据结构与算法第六章课后答案第六章 树和二叉树

第6章 树和二叉树(参考答案)6.1(1)根结点a6.2三个结点的树的形态: 三个结点的二叉树的形态:(1) (1) (2) (4) (5)6.3 设树的结点数是n ,则n=n0+n1+n2+……+nm+ (1)设树的分支数为B ,有n=B+1n=1n1+2n2+……+mnm+1 (2)由(1)和(2)有:n0=n2+2n3+……+(m-1)nm+16.4(1) k i-1 (i 为层数)(2) (n-2)/k+1(3) (n-1)*k+i+1(4) (n-1)%k !=0; 其右兄弟的编号 n+16.5(1)顺序存储结构注:#为空结点6.6(1) 前序 ABDGCEFH(2) 中序 DGBAECHF(3) 后序 GDBEHFCA6.7(1) 空二叉树或任何结点均无左子树的非空二叉树(2) 空二叉树或任何结点均无右子树的非空二叉树(3) 空二叉树或只有根结点的二叉树6.8int height(bitree bt)// bt是以二叉链表为存储结构的二叉树,本算法求二叉树bt的高度{ int bl,br; // 局部变量,分别表示二叉树左、右子树的高度if (bt==null) return(0);else { bl=height(bt->lchild);br=height(bt->rchild);return(bl>br? bl+1: br+1); // 左右子树高度的大者加1(根) }}// 算法结束6.9void preorder(cbt[],int n,int i);// cbt是以完全二叉树形式存储的n个结点的二叉树,i是数// 组下标,初始调用时为1。
本算法以非递归形式前序遍历该二叉树{ int i=1,s[],top=0; // s是栈,栈中元素是二叉树结点在cbt中的序号 // top是栈顶指针,栈空时top=0if (n<=0) { printf(“输入错误”);exit(0);}while (i<=n ||top>0){ while(i<=n){visit(cbt[i]); // 访问根结点if (2*i+1<=n) s[++top]=2*i+1; //若右子树非空,其编号进栈i=2*i;// 先序访问左子树}if (top>0) i=s[top--]; // 退栈,先序访问右子树} // END OF while (i<=n ||top>0)}// 算法结束//以下是非完全二叉树顺序存储时的递归遍历算法,“虚结点”用‘*’表示void preorder(bt[],int n,int i);// bt是以完全二叉树形式存储的一维数组,n是数组元素个数。
第6章 树和二叉树答案

第6章树和二叉树6.1知识点: 树和二叉树的基本概念一、填空题1. n 22. 一个数据元素分支结点的度叶子或终端结点非终端结点或分支结点树的度3. n-14.45. 每个结点至多只有两颗子树(即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒6. 满二叉树7. 完全二叉树8.31 329.9 10.500 499 1 011. 5 12.20 13.5 14.31 15.n-2n0+1二、选择题1.C2.A3.B4.A5.D6.D7. ABC=1,1,3三、简答题1.度为2的树从形式上看与二叉树很相似,但它的子树是无序的,而二叉树是有序的。
即,在一般树中若某结点只有一个孩子,就无需区分其左右次序,而在二叉树中即使是一个孩子也有左右之分。
四、算法设计题1.int IsFull_Bitree(Bitree T)//判断二叉树是否完全二叉树,是则返回1,否则返回0{ InitQueue(Q);flag=0;EnQueue(Q,T); //建立工作队列while(!QueueEmpty(Q)){DeQueue(Q,p);if(!p) flag=1;else if(flag) return 0;else { EnQueue(Q,p->lchild);EnQueue(Q,p->rchild); //不管孩子是否为空,都入队列}}//whilereturn 1;}//IsFull_Bitree分析:该问题可以通过层序遍历的方法来解决.不管当前结点是否有左右孩子,都入队列.这样当树为完全二叉树时,遍历时得到是一个连续的不包含空指针的序列.反之,则序列中会含有空指针.6.2知识点:遍历二叉树和线索二叉树一、填空题1.n+12. L R N F E G H D C B3. 二叉链表、三叉链表、双亲链表、线索链表4. 线索线索二叉树二叉树的线索化5. 左孩子该结点的前驱结点右孩子该结点的后继结点二、选择题1.D2.C3.A三、判断题1.√2. ×3. √4. √5. √6. √四、简答题1.DLR:A B D F J G K C E H I L MLDR: B F J D G K A C H E L I MLRD:J F K G D B H L M I E C A2.这是“先根再左再根再右”,比前序遍历多打印各结点一次,输出结果为:A B C C E E B A D F F D G G3.若已知一棵二叉树的后序序列是FEGHDCB,中序序列是FEBGCHD,则它的先序序列必是BEFCGDH 。
数据结构课后习题答案第六章

第六章树和二叉树(下载后用阅读版式视图或web版式可以看清)习题一、选择题1.有一“遗传”关系:设x是y的父亲,则x可以把它的属性遗传给y。
表示该遗传关系最适合的数据结构为( )。
A.向量B.树C图 D.二叉树2.树最合适用来表示( )。
A.有序数据元素 B元素之间具有分支层次关系的数据C无序数据元素 D.元素之间无联系的数据3.树B的层号表示为la,2b,3d,3e,2c,对应于下面选择的( )。
A. la (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个结点的完全二叉树中,该树的深度为( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章树和二叉树
一、选择题
1. 在下述结论中,正确的是()
①只有一个结点的二叉树的度为0; ②二叉树的度为2;③二叉树的左右
子树可任意交换;
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③ B.②③④ C.②④ D.①④
2.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点
个数是()
A.9 B.11 C.15 D.不确定
3.具有10个叶结点的二叉树中有()个度为2的结点。
A.8 B.9 C.10 D.ll
4. 有关二叉树下列说法正确的是()
A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为
2
5.二叉树的第I层上最多含有结点数为()
A.2I B. 2I-1-1 C. 2I-1 D.2I -1
6. 一个具有1025个结点的二叉树的高h为()
A.11 B.10 C.11至1025之间 D.10至1024之
间
7.一棵具有 n个结点的完全二叉树的树高度(深度)是()
A.nlog
2n B.log
2
n C.⎣log
2
n⎦|+1 D.不确定
8.深度为h的满m叉树的第k层有()个结点。
(1=<k=<h) A.m k-1 B.m k-1 C.m h-1 D.m h-1 9.在一棵高度为k的满二叉树中,结点总数为()A.2k-1 B.2k C.2k-1 D.⎣log2k⎦+1 10.高度为 K的二叉树最大的结点数为()。
A.2k B.2k-1 C.2k -1 D.2k-1-1
11. 一棵树高为K的完全二叉树至少有()个结点。
A.2k–1 B. 2k-1–1 C. 2k-1 D. 2k
12. 利用二叉链表存储树,则根结点的右指针是()。
A.指向最左孩子 B.指向最右孩子 C.空 D.非
空
13.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右
孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可
采用( )次序的遍历实现编号。
A.先序 B. 中序 C. 后序 D. 从根开始按
层次遍历
14.树的后根遍历序列等同于该树对应的二叉树的( ).
A. 先序序列
B. 中序序列
C. 后序序列
15.在下列存储形式中,哪一个不是树的存储形式?()
A.双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法 D.顺序存储表示
法
16.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是()。
A.CABDEFG B.ABCDEFG C.DACEFBG D.ADCFEG 17.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序
遍历的结果为()。
A.CBEFDA B. FEDCBA C. CBEDFA D.不定
18.已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前
序遍历是()。
A.acbed B.decab C.deabc D.cedba
19. 某二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E 则前序序
列是:
A.E,G,F,A,C,D,B B.E,A,C,B,D,G,F C.E,A,G,C,F,B,D D.上
面的都不对
20.二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历: HFIEJKG 。
该二叉树根的右子树的根是:()
A、 E
B、 F
C、 G
D、 H
21.某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A.空或只有一个结点 B.任一结点无左子树
C.高度等于其结点数 D.任一结点无右子树
22. 引入二叉线索树的目的是()
A.加快查找结点的前驱或后继的速度 B.为了能在二叉树中方便的进行插入与删除
C.为了能方便的找到双亲 D.使二叉树的遍历结果唯一23.下述编码中哪一个不是前缀码()。
A.(00,01,10,11) B.(0,1,00,11)
C.(0,10,110,111) D.(1,01,000,001)
24.下面几个符号串编码集合中,不是前缀编码的是()。
A.{0,10,110,1111} B.{11,10,001,101,0001}
C.{00,010,0110,1000} D.{b,c,aa,ac,aba,abb,abc}
二、判断题
1. 二叉树是度为2的有序树。
2. 完全二叉树一定存在度为1的结点。
n。
3. 对于有N个结点的二叉树,其高度为log
2
4.深度为K的二叉树中结点总数≤2k-1。
5. 二叉树的遍历结果不是唯一的.
6.由一棵二叉树的前序序列和后序序列可以唯一确定它。
7.完全二叉树中,若一个结点没有左孩子,则它必是树叶。
8. 二叉树只能用二叉链表表示。
9. 给定一棵树,可以找到唯一的一棵二叉树与之对应。
10.树形结构中元素之间存在一个对多个的关系。
11.在二叉树的第i层上至少有2i-1个结点(i>=1)。
12.将一棵树转成二叉树,根结点没有左子树。
三、填空题
1.二叉树由_(1)__,__(2)_,_(3)__三个基本单元组成。
2.树在计算机内的表示方式有_(1)__,_(2)__,_(3)__。
3.具有256个结点的完全二叉树的深度为______。
4.深度为k的完全二叉树至少有___(1)____个结点,至多有___(2)____个结点。
5.已知二叉树前序为ABDEGCF,中序为DBGEACF,则后序一定是____。