数据结构树练习题
数据结构课后练习题(树)
数据结构习题书面作业练习题习 题 六 树 和 二 叉 树6.1 单项选择题1. 下图所示的4棵二叉树,____不是完全二叉树。
2. 下列编码中属前缀码的是( ) (A ){1,01,000,001} (B ){1,01,011,010}(C ){0,10,110,11} (D ){0,1,00,113. 已知某二叉树的后序遍历序列是dabec ,中序遍历序列是debac ,它的前序遍历序列是____。
A. acbedB. decabC. deabcD. cedba4.设a,b 为一棵二叉树上的两个结点,在中序遍历时,a 在b 前的条件是 。
A .a 在b 的右方B .a 在b 的左方C .a 是b 的祖先D .a 是b 的子孙5. 假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为 个。
A .15B .16C .17D .476. 按照二叉树的定义,具有3个结点的二叉树有____种。
A. 3B. 4C. 5D. 6(A)(B)(C)(D)图8.7 4棵二叉树7. 树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。
这里,我们把由树转化得到的二叉树叫做这棵数对应的二叉树。
结论____是正确的。
A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同B. 树的后根遍历序列与其对应的二叉树的后序遍历序列相同C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同D. 以上都不对8. 深度为5的二叉树至多有____个结点。
A. 16B. 32C. 31D. 109. 树最适合用来表示____。
A. 有序数据元素B. 无序数据元素C. 元素之间具有分支层次关系的数据D. 元素之间无联系的数据10. 设有13个值,用它们组成一棵赫夫曼树,则该赫夫曼树共有( )个结点。
A .13 B. 12 C. 26 D. 256.2 应用题1. 有一棵树如图8.12所示,回答下面的问题:⑴ 这棵树的根结点是____;⑵ 这棵树的叶子结点是____;⑶ 结点k3的度是____; ⑷ 这棵树的度是____;⑸ 这棵树的深度是____;⑹ 结点k3的子女是____; ⑺ 结点k3的父结点是____;2. 深度为k 的完全二叉树至少有____个结点。
数据结构-习题-第六章-树
数据结构-习题-第六章-树和二叉树E F D G A B / + + * - C * 第六章 树和二叉树一、选择题1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( )A .-A+B*C/DE B. -A+B*CD/EC .-+*ABC/DE D. -+A*BC/DE【北京航空航天大学 1999 一、3 (2分)】2.算术表达式a+b*(c+d/e )转为后缀表达式后为( )【中山大学 1999 一、5】A .ab+cde/*B .abcde/+*+C .abcde/*++D .abcde*/++ 3. 设有一表示算术表达式的二叉树(见下图), 它所表示的算术表达式是( )【南京理工大学1999 一、20(2分)】A. A*B+C/(D*E)+(F-G)B.(A*B+C)/(D*E)+(F-G)C. (A*B+C)/(D*E+(F-G ))D.A*B+C/D*E+F-G4. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为( )A .5B .6C .7D.8【南京理工大学 2000 一、8 (1.5分)】5. 在下述结论中,正确的是()【南京理工大学 1999 一、4 (1分)】①只有一个结点的二叉树的度为0; ②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③ B.②③④ C.②④ D.①④6. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是()A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定【南京理工大学2000 一、17(1.5分)】7. 树是结点的有限集合,它( (1))根结点,记为T。
其余结点分成为m(m>0)个((2))的集合T1,T2,…,Tm,每个集合又都是树,此时结点T称为Ti的父结点,Ti称为T的子结点(1≤i≤m)。
(完整word版)数据结构-树练习题
数据结构-树练习题一、选择题1、二叉树的深度为k,则二叉树最多有( C )个结点。
A. 2kB. 2k-1C. 2k-1D. 2k-12、用顺序存储的方法,将完全二叉树中所有结点按层逐个从左到右的顺序存放在一维数组R[1..N]中,若结点R[i]有右孩子,则其右孩子是( B )。
A. R[2i-1]B. R[2i+1]C. R[2i]D. R[2/i]3、设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前面的条件是( B )。
A. a在b的右方B. a在b的左方C. a是b的祖先D. a是b的子孙4、设一棵二叉树的中序遍历序列:badce,后序遍历序列:bdeca,则二叉树先序遍历序列为()。
A. adbceB. decabC. debacD. abcde5、在一棵具有5层的满二叉树中结点总数为( A )。
A. 31B. 32C. 33D. 166、由二叉树的前序和后序遍历序列( B )惟一确定这棵二叉树。
A. 能B. 不能7、某二叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左子树中结点数目为(C )。
A. 3B. 2C. 4D. 58、若以{4,5,6,7,8}作为权值构造哈夫曼树,则该树的带权路径长度为(C )。
A. 67B. 68C. 69D. 709、将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为(A )。
A. 98B. 99C. 50D. 4810、表达式a*(b+c)-d的后缀表达式是( B )。
A. abcd+-B. abc+*d-C. abc*+d-D. -+*abcd11、对某二叉树进行先序遍历的结果为ABDEFC,中序遍历的结果为DBFEAC,则后序遍历的结果是( B )。
A. DBFEACB. DFEBCAC. BDFECAD. BDEFAC12、树最适合用来表示( C )。
数据结构练习第六章树
数据结构练习第六章树一、选择题1.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据2.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-13.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
A. 2m-1B. 2mC. 2m+1D. 4m4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
A. BADCB. BCDAC. CDABD. CBDA5.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。
A. 9B. 10C. 11D. 126.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。
A. 2k-1 B .2k C. 2k-1 D. 2k-17.设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是()。
A. N0=N1+1 B. N=Nl+N2C. N=N2+1 D. N=2N1+l8.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N=()。
A. Nl +N2+……+Nm B. l+N2+2N3+3N4+……+(m-1)NmC. N2+2N3+3N4+……+(m-1)Nm D. 2Nl+3N2+……+(m+1)Nm9.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。
A. 20B. 30C. 40D. 4510.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。
A. 空或只有一个结点B. 高度等于其结点数C. 任一结点无左孩子D. 任一结点无右孩子11.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。
A. 3B. 4C. 5D. 612.深度为k的完全二叉树中最少有()个结点。
数据结构练习题--树(题)
第六章树一.名词解释:1 树 2。
结点的度 3。
叶子 4。
分支点 5。
树的度6.父结点、子结点 7兄弟 8结点的层数 9树的高度 10 二叉树11 空二叉树 12 左孩子、右孩子 13孩子数 14 满二叉树 15完全二叉树16 先根遍历 17 中根遍历 18后根遍历 19二叉树的遍历 20 判定树21 哈夫曼树二、填空题1、树(及一切树形结构)是一种“________”结构。
在树上,________结点没有直接前趋。
对树上任一结点X来说,X是它的任一子树的根结点惟一的________。
2、一棵树上的任何结点(不包括根本身)称为根的________。
若B是A的子孙,则称A是B的________3、一般的,二叉树有______二叉树、______的二叉树、只有______的二叉树、只有______ 的二叉树、同时有______的二叉树五种基本形态。
4、二叉树第i(i>=1)层上至多有______个结点。
5、深度为k(k>=1)的二叉树至多有______个结点。
6、对任何二叉树,若度为2的节点数为n2,则叶子数n0=______。
7、满二叉树上各层的节点数已达到了二叉树可以容纳的______。
满二叉树也是______二叉树,但反之不然。
8、具有n个结点的完全二叉树的深度为______。
9、如果将一棵有n个结点的完全二叉树按层编号,则对任一编号为i(1<=i<=n)的结点X有:(1)若i=1,则结点X是______;若i〉1,则X的双亲PARENT(X)的编号为______。
(2)若2i>n,则结点X无______且无______;否则,X的左孩子LCHILD(X)的编号为______。
(3)若2i+1>n,则结点X无______;否则,X的右孩子RCHILD(X)的编号为______。
10.二叉树通常有______存储结构和______存储结构两类存储结构。
11.每个二叉链表的访问只能从______结点的指针,该指针具有标识二叉链表的作用。
计算机存储和组织数据方式之《数据结构》关于“树”的习题(PPT内含答案)
• 12.已知二叉树的先序遍历和后序遍历不能唯一确定这棵 二叉树,这是因为不知道根结点是哪一个。
•
(T )
• 7.树结构中的每个结点最多只有一个直接前驱。 (T )
• 8.完全二叉树一定是满二叉树。 (F)
• 9.由树转换成二叉树,其根结点的右子树一定为空。 (T )
• 10.在先序遍历二叉树的序列中,任何结点的子树的所有 结点都是直接跟在该结点之后。( F )
• 11.一棵二叉树中序遍历序列的最后一个结点,发家是该 二叉树先序遍历的最后一个结点。 ( T )
B.CBDGFEA D.CBEGFDA
• 8.某二又树的后序遍历序列为DABEC,中序遍历序列为
DEBAC,则先序遍历序列为( D )。
• A.ACBED C.DEABC
B.DECAB D.CEDBA
• 9.在完全二叉树中,如果一个结点是叶子结点,则它没 有( C )。
• A.左孩子结点
B.右孩子结点
• 5.对于二叉树来说,第i层上最多有___2i-1______个结点。 • 6.由三个结点构成的二叉树,共有____5_____种不同的
结构。
• 7.由一棵二叉树的先序序列和___中序____序列可唯一 确定这棵二叉树。
习题6
• 9.先序序列和中序序列相同的二叉树为单右枝二叉树或 孤立结点。
• 10.设一棵二叉树共有50个叶子结点(终端结点),则有 ______49______度为2的结点。
• A. 5
B. 6
• C. 7
D. 8
• 6.二叉树的先序遍历序列为ABC的不同二叉树有( C ) 种形态。
• A. 3
B. 4
• C. 5
D.6
习题6
《数据结构》应用题参考习题
一.《树》应用题1. 已知一棵树边的集合为{<i,m>,<i,n>,<e,i>,<b,e>,<b,d>,<a,b>,<g,j>,<g,k>,<c,g>,<c,f>,<h,l>,<c,h>,<a,c>},请画出这棵树,并回答下列问题:(1)哪个是根结点?(2)哪些是叶子结点?(3)哪个是结点g的双亲?(4)哪些是结点g的祖先?(5)哪些是结点g的孩子?(6)哪些是结点e的孩子?(7)哪些是结点e的兄弟?哪些是结点f的兄弟?(8)结点b和n的层次号分别是什么?(9)树的深度是多少?(10)以结点c为根的子树深度是多少?2. 一棵度为2的树与一棵二叉树有何区别。
3. 试分别画出具有3个结点的树和二叉树的所有不同形态?4. 已知用一维数组存放的一棵完全二叉树:ABCDEFGHIJKL,写出该二叉树的先序、中序和后序遍历序列。
5. 一棵深度为H的满m叉树有如下性质:第H层上的结点都是叶子结点,其余各层上每个结点都有m棵非空子树,如果按层次自上至下,从左到右顺序从1开始对全部结点编号,回答下列问题:(1)各层的结点数目是多少?(2)编号为n的结点的父结点如果存在,编号是多少?(3)编号为n的结点的第i个孩子结点如果存在,编号是多少?(4)编号为n的结点有右兄弟的条件是什么?其右兄弟的编号是多少?6. 找出所有满足下列条件的二叉树:(1)它们在先序遍历和中序遍历时,得到的遍历序列相同;(2)它们在后序遍历和中序遍历时,得到的遍历序列相同;(3)它们在先序遍历和后序遍历时,得到的遍历序列相同;7. 假设一棵二叉树的先序序列为EBADCFHGIKJ,中序序列为ABCDEFGHIJK,请写出该二叉树的后序遍历序列。
8. 假设一棵二叉树的后序序列为DCEGBFHKJIA,中序序列为DCBGEAHFIJK,请写出该二叉树的后序遍历序列。
数据结构 树 考试习题
第五章树11.不含任何结点的空树( )A)是一棵树 B)是一棵二叉树C)既不是树也不是二叉树 D)是一棵树也是一棵二叉树12.二叉树是非线性数据结构,所以( )A)它不能用顺序存储结构存储; B)它不能用链式存储结构存储;C)顺序存储结构和链式存储结构都能存储; D)顺序存储结构和链式存储结构都不能使用13.把一棵树转换为二叉树后,这棵二叉树的形态是( )A)唯一的 B)有多种C)有多种,但根结点都没有左孩子 D)有多种,但根结点都没有右孩子9. 11 , 8 , 6 , 2 , 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为()A) 24 B) 72 C) 48 D) 5310.一棵含18个结点的二叉树的高度至少为( )A) 3 B) 4 C) 6 D) 511.下面的二叉树中,( C )不是完全二叉树。
10. 设结点x和结点y是二叉树T中的任意两个结点,若在前序序列中x在y之前,而在中序序列中x在y之后,则x和y的关系是()A)x是y的左兄弟 B)x是y的右兄弟C)y是x的祖先 D)y是x的孩子11.设二叉树根结点的层次为1,所有含有15个结点的二叉树中,最小高度是()A) 6 B) 5 C) 4 D) 37.下列陈述中正确的是()A)二叉树是度为2的有序树B)二叉树中结点只有一个孩子时无左右之分C)二叉树中必有度为2的结点D)二叉树中最多只有两棵子树,并且有左右之分8. 树最适合用来表示()A)有序数据元素 B)无序数据元素C)元素之间具有分支层次关系的数据 D)元素之间无联系的元素9. 3个结点有()不同形态的二叉树A) 2 B) 3 C) 4 D) 56.二叉树是非线性数据结构,( )A)它不能用顺序存储结构存储; B)它不能用链式存储结构存储;C)顺序存储结构和链式存储结构都能存储;D)顺序存储结构和链式存储结构都不能使用7.二叉树上叶结点数等于( )A ) 分支结点数加1B ) 单分支结点数加1C ) 双分支结点数加1D ) 双分支结点数减18.如将一棵有n个结点的完全二叉树按顺序存放方式,存放在下标编号为0, 1,…, n-1的一维数组中,设某结点下标为k(k>0),则其双亲结点的下标是( )A ) (k-1)/2B ) (k+1)/2C ) k/2D ) k-18. 树最适合用来表示()。
《数据结构与算法设计》树-习题
• 已知二叉树 – 先序序列为:ABCDEF – 中序序列为:CBAEDF • 请画出该二叉树。
A
B
C E
D
F
9
A
D
10
• 已知二叉树 – 中序序列为:ABCEFGHD – 后序序列为:ABFHGEDC • 请画出该二叉树。 – 中序:LDR A – 后序:LRD A B C E F G H D A B F H G E D C
swap(b->rchild );
}
交换左右子树
15
• 请指出下列函数的功能
void preserve(BiTNode *b, ElemType a[], int n){
static int i = 0; if(b != NULL) { preserve(b->lChild, a,n); a[i++] = b->data;
preserve(b->rChild, a,n);
} }
得到二叉树b的中序遍历序列,结果放在数组a中
16
2005考研试题
根据______可以唯一地确定一棵二叉树。 A. 先序遍历和后序遍历 B. 先序遍历和层次遍历 C. 中序遍历和层次遍历 D. 中序遍历和后序遍历
D. 中序遍历和后序遍历
所有分支结点的度为2的二叉树称为正则二叉树,试 用二叉链表做存储结构,编写一递归函数int FormalTree(Bitree t),判断二叉树是否为正则二叉树。 int FormalTree(Bitree t) { if (t == NULL) return 1; if ((t->lchild == NULL) && (t->rchild == NULL)) return 1; if ((t->lchild == NULL) || (t->rchild == NULL)) return 0; return (FormalTree(t->lchild)) && (FormalTree(t->rchild)); }
数据结构树习题
第六章树习题1单项选择题1、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则叶子结点个数是(B)。
A、9B、11C、15D、无法确定2、设给定权值总数有n个,其哈夫曼树的结点总数为(D )。
A、不确定B、2nC、2n +1D、2n 13、有关二叉树下列说法正确的是(B)。
A、二叉树的度为2B、一棵二叉树的度可以小于2C、二叉树中至少有一个结点的度为2D、二叉树中任何一个结点的度都为24、一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有()结点。
A、2 hB、2 h-1C、2 h +1D、h +15、对于有n个结点的二叉树,其高度为()。
- D、不确定A、n 10g2nB、10g2nC、Log 2 n6、利用二叉链表存储树,则根结点的右指针是()。
A、指向最左孩子B、指向最右孩子C、空D、非空7、树的后根遍历序列等同于该树对应的二叉树的()。
A、先序遍历B、中序遍历C、后序遍历D、层序遍历8、在下列存储形式中,哪一个不是树的存储形式?()人、双亲表示法B、孩子链表表示法C、孩子兄弟表示法D、顺序存储表示法9、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。
A、CBEFDAB、FEDCBAC、CBEDFA 口、不定10、某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A、空的或只有一个结点B、任一结点无左子树C、高度等于其结点数D、任一结点无右子树11、一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:()。
A、不确定B、0C、1D、212、若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为()。
A、X的双亲B、X的右子树中最左的结点C、X的左子树中最右结点D、X的左子树中最右叶结点13、引入二叉线索树的目的是().A、加快查找结点的前驱或后继的速度8、为了能在二叉树中方便的进行插入和删除^为了能方便的找到双亲D、使二叉树的遍历结果唯一14、下述编码中哪一个不是前缀码()。
数据结构 树 考试习题
第五章树11.不含任何结点的空树( )A)是一棵树 B)是一棵二叉树C)既不是树也不是二叉树 D)是一棵树也是一棵二叉树12.二叉树是非线性数据结构,所以( )A)它不能用顺序存储结构存储; B)它不能用链式存储结构存储;C)顺序存储结构和链式存储结构都能存储; D)顺序存储结构和链式存储结构都不能使用13.把一棵树转换为二叉树后,这棵二叉树的形态是( )A)唯一的 B)有多种C)有多种,但根结点都没有左孩子 D)有多种,但根结点都没有右孩子9. 11 , 8 , 6 , 2 , 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为()A) 24 B)72 C) 48 D) 5310.一棵含18个结点的二叉树的高度至少为( )A) 3 B) 4 C) 6 D) 511.下面的二叉树中,( C )不是完全二叉树。
10. 设结点x和结点y是二叉树T中的任意两个结点,若在前序序列中x在y之前,而在中序序列中x在y之后,则x和y的关系是()A)x是y的左兄弟 B)x是y的右兄弟C)y是x的祖先 D)y是x的孩子11.设二叉树根结点的层次为1,所有含有15个结点的二叉树中,最小高度是()A) 6 B) 5 C) 4 D) 37.下列陈述中正确的是()A)二叉树是度为2的有序树B)二叉树中结点只有一个孩子时无左右之分C)二叉树中必有度为2的结点D)二叉树中最多只有两棵子树,并且有左右之分8. 树最适合用来表示()A)有序数据元素 B)无序数据元素C)元素之间具有分支层次关系的数据 D)元素之间无联系的元素9. 3个结点有()不同形态的二叉树A) 2 B) 3 C) 4 D) 56.二叉树是非线性数据结构,( )A)它不能用顺序存储结构存储; B)它不能用链式存储结构存储;C)顺序存储结构和链式存储结构都能存储;D)顺序存储结构和链式存储结构都不能使用7.二叉树上叶结点数等于( )A ) 分支结点数加1B ) 单分支结点数加1C ) 双分支结点数加1D ) 双分支结点数减18.如将一棵有n个结点的完全二叉树按顺序存放方式,存放在下标编号为0, 1,…, n-1的一维数组中,设某结点下标为k(k>0),则其双亲结点的下标是( )A ) (k-1)/2B ) (k+1)/2C ) k/2D ) k-18. 树最适合用来表示()。
数据结构树的测试题(二)
习题六树和二叉树一、单项选择题1.以下说法错误的是( A )A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种"分支层次"结构E.任何只含一个结点的集合是一棵树2.下列说法中正确的是( D )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于23.讨论树、森林和二叉树的关系,目的是为了(A )A.借助二叉树上的运算方法去实现对树的一些运算B.将树、森林按二叉树的存储方式进行存储C.将树、森林转换成二叉树D.体现一种技巧,没有什么实际意义4.树最适合用来表示( C )A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B )A.9 B.11 C.15 D.不确定6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
与森林F对应的二叉树根结点的右子树上的结点个数是( D )。
A.M1 B.M1+M2 C.M3 D.M2+M37.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( E )A.250 B.500 C.254 D.505 E.以上答案都不对8.二叉树的第I层上最多含有结点数为( C )A.2I B.2I-1-1 C.2I-1D.2I -110.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点A.2h B.2h-1 C.2h+1 D.h+111. 利用二叉链表存储树,则根结点的右指针是(B )。
A.指向最左孩子B.指向最右孩子C.空D.非空12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为(A )。
数据结构(树)习题与答案
一、单选题1、树最适合用来表示()。
A.元素之间具有分支层次关系的数据B.有序数据元素C.元素之间无联系的数据D.无序数据元素正确答案:A2、在树结构中,若结点A有三个兄弟,且B是A的双亲,则B的度是()。
A.5B.4C.3D.2正确答案:B3、下列陈述中正确的是()。
A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中每个结点最多只有两棵子树,并且有左右之分D.二叉树中必有度为2的结点正确答案:C4、设深度为h的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含结点数至少为()。
A.2h-1B.2h+1C.h+1D.2h正确答案:A解析: A、除根之外,每层只有两个结点,且互为兄弟。
5、设深度为h的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含结点数至多为()。
A.2h-1B. 2h+1-1C. 2h-1-1D. 2h+1正确答案:A解析: A、构成完全二叉树。
6、具有n(n>0)个结点的完全二叉树的深度为()。
A.⌊ log2(n)⌋ +1B.⌈log2(n)⌉C.⌊ log2(n)⌋D.⌈log2(n)+1⌉正确答案:A7、具有32个结点的完全二叉树有()个叶子结点。
A.16B.14C.15D.17正确答案:A解析: A、对结点按层序编号,32号结点的双亲结点编号为16,则17至32号结点都为叶子,共16个。
8、一棵完全二叉树的第6层上有23个叶子结点,则此二叉树最多有()结点。
A.81B.78C.80D.79正确答案:A解析: A、完全二叉树的叶子结点只能在最下两层,要使结点最多,这棵二叉树深度为7,前6层结点数共为63,第6层有32个结点,其中叶子为23个,非叶子为9个,它们的度都为2,第7层只有18个结点,故整棵二叉树结点数为81.9、具有3个结点的二叉树有()种。
A.6B.3C.5D.4正确答案:C10、若一棵二叉树有9个度为2的结点,5个度为1的结点,则叶子结点的个数为()。
数据结构图,树相关例题
树1. 请画出与下列二叉树对应的森林。
2.设一棵树T中边的集合为{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。
3.设给定一个权值集合W=(3,5,7,9,11),要求根据给定的权值集合构造一棵哈夫曼树并计算哈夫曼树的带权路径长度WPL。
4. 假设树T是采用二叉链表结构储存的二叉树,编写函数,把树T的左右子树进行交换。
5. 二叉树结点数值采用顺序储存结构,如下表所示:e af dg c jhi b (1)画出二叉树表示;(2)写出前序、中序、后序遍历的结果;(3)写出结点值c的父结点及其左右孩子。
图1.请画出下图的邻接矩阵和邻接表。
2.设有无向图G,要求给出用普里姆算法和克鲁斯卡尔算法分别构造最小生成树。
3.对于图6所示的有向图若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,试写出:(1) 从顶点①出发进行深度优先搜索所得到的深度优先生成树;(2) 从顶点②出发进行广度优先搜索所得到的广度优先生成树;图64.已知一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7};E={<2,1>,<3,2>,<3,6>,<4,3>,<4,5>,<4,6>,<5,1>,<5,7>,<6,1>,<6,2>,<6,5>};若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,试给出得到的拓扑排序的序列。
数据结构 树 考试习题
第五章树11.不含任何结点的空树( )A)是一棵树 B)是一棵二叉树C)既不是树也不是二叉树 D)是一棵树也是一棵二叉树12.二叉树是非线性数据结构,所以( )A)它不能用顺序存储结构存储; B)它不能用链式存储结构存储;C)顺序存储结构和链式存储结构都能存储; D)顺序存储结构和链式存储结构都不能使用13.把一棵树转换为二叉树后,这棵二叉树的形态是( )A)唯一的 B)有多种C)有多种,但根结点都没有左孩子 D)有多种,但根结点都没有右孩子9. 11 , 8 , 6 , 2 , 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为()A) 24 B) 72 C) 48 D) 5310.一棵含18个结点的二叉树的高度至少为( )A) 3 B) 4 C) 6 D) 511.下面的二叉树中,( C )不是完全二叉树。
10. 设结点x和结点y是二叉树T中的任意两个结点,若在前序序列中x在y之前,而在中序序列中x在y之后,则x和y的关系是()A)x是y的左兄弟 B)x是y的右兄弟C)y是x的祖先 D)y是x的孩子11.设二叉树根结点的层次为1,所有含有15个结点的二叉树中,最小高度是()A) 6 B) 5 C) 4 D) 37.下列陈述中正确的是()A)二叉树是度为2的有序树B)二叉树中结点只有一个孩子时无左右之分C)二叉树中必有度为2的结点D)二叉树中最多只有两棵子树,并且有左右之分8. 树最适合用来表示()A)有序数据元素 B)无序数据元素C)元素之间具有分支层次关系的数据 D)元素之间无联系的元素9. 3个结点有()不同形态的二叉树A) 2 B) 3 C) 4 D) 56.二叉树是非线性数据结构,( )A)它不能用顺序存储结构存储; B)它不能用链式存储结构存储;C)顺序存储结构和链式存储结构都能存储;D)顺序存储结构和链式存储结构都不能使用7.二叉树上叶结点数等于( )A ) 分支结点数加1B ) 单分支结点数加1C ) 双分支结点数加1D ) 双分支结点数减18.如将一棵有n个结点的完全二叉树按顺序存放方式,存放在下标编号为0, 1,…, n-1的一维数组中,设某结点下标为k(k>0),则其双亲结点的下标是( )A ) (k-1)/2B ) (k+1)/2C ) k/2D ) k-18. 树最适合用来表示()。
数据结构(树与图部分)练习题
数据结构(树与图部分)练习题数据结构(树与图部分)练习题⼀、填空题1.不考虑顺序的3个结点可构成种不同形态的树,种不同形态的⼆叉树。
2.已知某棵完全⼆叉树的第4层有5个结点,则该完全⼆叉树叶⼦结点的总数为:。
3.已知⼀棵完全⼆叉树的第5层有3个结点,其叶⼦结点数是。
4.⼀棵具有110个结点的完全⼆叉树,若i=54,则结点i的双亲编号是;结点i的左孩⼦结点的编号是,结点i的右孩⼦结点的编号是。
5.⼀棵具有48个结点的完全⼆叉树,若i=20,则结点i的双亲编号是______;结点i的左孩⼦结点编号是______,右孩⼦结点编号是______。
6.在有n个叶⼦结点的Huffman树中,总的结点数是:______。
7.图是⼀种⾮线性数据结构,它由两个集合V(G)和E(G)组成,V(G)是______的⾮空有限集合,E(G)是______的有限集合。
8.遍历图的基本⽅法有优先搜索和优先搜索两种⽅法。
9.图的遍历基本⽅法中是⼀个递归过程。
10.n个顶点的有向图最多有条弧;n个顶点的⽆向图最多有条边。
11.在⼆叉树的⼆叉链表中,判断某指针p所指结点是叶⼦结点的条件是。
12.在⽆向图G的邻接矩阵A中,若A[i,j]等于1,则A[j,i]等于。
⼆、单项选择题1.树型结构的特点是:任意⼀个结点:()A、可以有多个直接前趋B、可以有多个直接后继C、⾄少有1个前趋D、只有⼀个后继2.如下图所⽰的4棵⼆叉树中,()不是完全⼆叉树。
3.深度为5的⼆叉树⾄多有()个结点。
A、16B、32C、31D、104.64个结点的完全⼆叉树的深度为:()。
A、8B、7C、6D、55.将⼀棵有100个结点的完全⼆叉树从根这⼀层开始,每⼀层从左到右依次对结点进⾏编号,根结点编号为1,则编号为49的结点的左孩⼦的编号为:()。
A、98B、99C、50D、486.在⼀个⽆向图中,所有顶点的度之和等于边数的()倍。
A、1/2B、1C、2D、47.设有13个值,⽤它们组成⼀棵Huffman树,则该Huffman树中共有( )个结点。
数据结构第6章 树习题+答案
第六章 树和二叉树一、选择题1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( D )A .-A+B*C/DE B. -A+B*CD/E C .2. 设有一表示算术表达式的二叉树(见下图), 它所表示的算术表达式是( C ) A. A*B+C/(D*E)+(F-G) B. (A*B+C)/(D*E)+(F-G) C. (A*B+C)/(D*E+(F-G )) D. A*B+C/D*E+F-G 3. 在下述结论中,正确的是( D )①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换;④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A .①②③B .②③④C .②④D .①④4. 设森林F 对应的二叉树为B ,它有m 个结点,B 的根为p,p 的右子树结点个数为n,森林F 中第一棵树的结点个数是( A )A .m-nB .m-n-1C .n+1D .条件不足,无法确定5.设森林F 中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。
与森林F 对应的二叉树根结点的右子树上的结点个数是( D )。
A .M1B .M1+M2C .M3D .M2+M36. 设给定权值总数有n 个,其哈夫曼树的结点总数为( D )A .不确定B .2nC .2n+1D .2n-17.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点A .2hB .2h-1C .2h+1D .h+18. 一棵具有 n 个结点的完全二叉树的树高度(深度)是( A )A .⎣logn ⎦+1B .logn+1C .⎣logn ⎦D .logn-19.深度为h 的满m 叉树的第k 层有( A )个结点。
(1=<k=<h)A .m k-1B .m k -1C .m h-1D .m h -110. 一棵树高为K 的完全二叉树至少有( C )个结点A .2k –1 B. 2k-1 –1 C. 2k-1 D. 2k11. 利用二叉链表存储树,则根结点的右指针是( C )。
数据结构——树习题
数据结构——树练习注:“[]”为向上取整,“{}”为向下取整。
一、填空题1、二叉树第i(i>=1)层上至多有__2^(i-1)___个结点。
2、深度为k(k>=1)的二叉树至多有___2^k -1__个结点。
3、具有n个结点的完全二叉树的深度为__log2(n+1)____。
4、具有n个结点的二叉树中,一共有____2n___个指针域,其中只有____n-1___个用来指向结点的左右孩子,其余的___n+1_____个指针域为NULL。
5、若二叉树的一个叶子是某子树的中根遍历序列中的第一个结点,则它必是该子树的后根遍历序列中的___第一个_____个结点。
6、在____先序____遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。
7、具有n个结点的完全二叉树,若按层次从上到下、从左到右对其编,号(根结点为1号),则编号最大的分支结点序号是____n/2____,编号最小的分支结点序号是___1____,编号最大的叶子结点序号是_____n__,编号最小的叶子结点序号是__n/2 +1_____。
8、先根遍历树和先根遍历与该树对应的二叉树,其结果___相同____(填“相同”或“不同”)。
9、由____一颗树___转换成二叉树时,其根结点的右子树总是空的。
10、若一棵二叉树的叶子数为n,则该二叉树中,左、右子树皆非空的结点个数为___n-1____。
11、任意一棵具有n个结点的二叉树,若它有m个叶子,则该二叉树上度数为1的结点为___n-2m+1___个。
12、现有按中序遍历二叉树的结果为ABC,问有____5__种不同形态的二叉树可以得到这一遍历结果13、已知一棵度为3的树有2个度为1的结点,3个度过为2的结点,4个度为3的结点,则该树中有____12___个叶子结点。
二、单选题1、1.以下说法错误的是( 1. )①树形结构的特点是一个结点可以有多个直接前趋②线性结构中的一个结点至多只有一个直接后继③树形结构可以表达(组织)更复杂的数据④树(及一切树形结构)是一种"分支层次"结构⑤任何只含一个结点的集合是一棵树2.以下说法错误的是( 4 )①完全二叉树上结点之间的父子关系可由它们编号之间的关系来表达②在三叉链表上,二叉树的求双亲运算很容易实现③在二叉链表上,求根,求左、右孩子等很容易实现④在二叉链表上,求双亲运算的时间性能很好3、深度为6的二叉树最多有( 2 )个结点( )①64 ②63 ③32 ④314、将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双结点编号为 ( 4 )①42 ②40 ③21 ④205、任何一棵二叉树的叶结点在其先根、中根、后跟遍历序列中的相对位置 ( 3 )①肯定发生变化②有时发生变化③肯定不发生变化④无法确定6、设深度为k的二叉树上只有度为0和度为2的节点,则这类二叉树上所含结点总数最少( 3)个①k+1 ②2k ③2k-1 ④2k+17、下列说法正确的是( 1 )①树的先根遍历序列与其对应的二叉树的先根遍历序列相同②树的先根遍历序列与其对应的二叉树的后根遍历序列相同③树的后根遍历序列与其对应的二叉树的先根遍历序列相同④树的后根遍历序列与其对应的二叉树的后根遍历序列相同8、设森林T中有4棵树,第一、二、三、四棵树的结点个数分别是n1,n2,n3,n4,那么当把森林T转换成一棵二叉树后,且根结点的右子树上有( 4)个结点。
数据结构 树习题
第5章 总结
排序树、平衡树
在一棵度为3 的树中,度为3的结点数为2个, 度为2的结点数为1个,度为1的结点数为2个, 则度为0的结点数为() a 4 b 5 c 6 d 7
若一棵二叉树的先序序列是 BEFCGDH, 中序序列为 FEBGCHD ,则它的后序序列为() 层次遍历序列为() 1 EFGHBCD 2 FEGHDCB 3 BCDEFGH 4 EFBGCHD 5 BECFGDH 6 FEGBHDC
有一段正文由字符集 A,D,C,D,E,F中 的字母组成,这6个字母在正文中出现的次数 分别为12,18,26,6.4.34。
(1)为这6个字母设计哈夫曼编码。 (2)设每个字节由8位二进制位组成, 请计算按哈夫曼编码压缩存储这段正 文共需多少个字节?
将一棵树T转换为一棵二叉树T2,则T的后 序遍历是T2的( ). a. 先序 b. 中序 c. 后序 d. 无 法确定 树最适合于用来表示(). a 线性结构的数据 b 顺序结构的数据 c 元素之间无前驱和后继关系的数据 d 元素之间有包含和层次关系的数据
具有3个结点的树和具有3个结点的二叉树 的所有不同形态分别是() A 2 b 6 c 5 d 8
关于二叉树的下列说法正确的是()。 A.二叉树的度为2 B.二叉树的度可以小于2 C.每一个结点的度都为2 D.至少有一个结点的度为2 具有68个结点的完全二叉树的深度为() A 6 b 7 c 8 68
在一棵二叉树的二叉链表中,空指针域数 等于非空指针域数加( )。 A. 2 B. 1 C. 0 D. –1
以二叉链表作为二叉树存储结构,在有N个 节点的二叉链表中,值为非空的链域的个 数为( )。 A N-1 B 2N-1 C N+1 D 2N+1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构-树练习题
一、选择题
1、二叉树的深度为k,则二叉树最多有( C )个结点。
A. 2k
B. 2k-1
C. 2k-1
D. 2k-1
2、用顺序存储的方法,将完全二叉树中所有结点按层逐个从左到右的顺序存放在一维数组R[1..N]中,若结点R[i]有右孩子,则其右孩子是( B )。
A. R[2i-1]
B. R[2i+1]
C. R[2i]
D. R[2/i]
3、设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前面的条件是( B )。
A. a在b的右方
B. a在b的左方
C. a是b的祖先
D. a是b的子孙
4、设一棵二叉树的中序遍历序列:badce,后序遍历序列:bdeca,则二叉树先序遍历序列为()。
A. adbce
B. decab
C. debac
D. abcde
5、在一棵具有5层的满二叉树中结点总数为( A )。
A. 31
B. 32
C. 33
D. 16
6、由二叉树的前序和后序遍历序列( B )惟一确定这棵二叉树。
A. 能
B. 不能
7、某二叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左子树中结点数目为( C )。
A. 3
B. 2
C. 4
D. 5
8、若以{4,5,6,7,8}作为权值构造哈夫曼树,则该树的带权路径长度为( C )。
A. 67
B. 68
C. 69
D. 70
9、将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为(A )。
A. 98
B. 99
C. 50
D. 48
10、表达式a*(b+c)-d的后缀表达式是( B )。
A. abcd+-
B. abc+*d-
C. abc*+d-
D. -+*abcd
11、对某二叉树进行先序遍历的结果为ABDEFC,中序遍历的结果为DBFEAC,则后序遍历的结果是( B )。
A. DBFEAC
B. DFEBCA
C. BDFECA
D. BDEFAC
12、树最适合用来表示( C )。
A. 有序数据元素
B. 无序数据元素
C. 元素之间具有分支层次关系的数据
D. 元素之间无联系的数据
13、表达式A*(B+C)/(D-E+F)的后缀表达式是( C )
A. A*B+C/D-E+F
B. AB*C+D/E-F+
C. ABC+*DE-F+/
D. ABCDED*+/-+
14、任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序()。
A. 不发生改变
B. 发生改变
C. 不能确定
D. 以上都不对
15、假定在一棵二叉树中,度为2的结点数为15,度为1的结点数为30,则叶子结点数为()个。
A. 15
B. 16
C. 17
D. 47
16、由权值为3,6,7,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。
A. 51
B. 23
C. 53
D. 74
二、判断题
( )1、存在这样的二叉树,对它采用任何次序的遍历,结果相同。
( )2、中序遍历一棵二叉排序树的结点,可得到排好序的结点序列。
( )3、对于任意非空二叉树,要设计其后序遍历的非递归算法而不使用堆栈结构,最适
合的方法是对该二叉树采用三叉链表。
( )4、在哈夫曼编码中,当两个字符出现的频率相同时,其编码也相同,对于这种情况
应做特殊处理。
( T )5、一个含有n 个结点的完全二叉树,它的高度是⎣log 2n ⎦+1。
( T )6、完全二叉树的某结点若无左孩子,则它必是叶结点。
三、填空题
1、具有n 个结点的完全二叉树的深度是 ⎣log 2n ⎦+1 。
2、哈夫曼树是其树的带权路径长度 最小 的二叉树。
3、在一棵二叉树中,度为0的结点的个数是n0,度为2的结点的个数为n2,则有 n0= N2+1 。
4、树内各结点度的 最大值 称为树的度。
四、综合题
1、假设用于通讯的电文仅由8个字母A 、B 、C 、D 、E 、F 、G 、H 组成,字母在电文中出现
的频率分别为:0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。
请为这8个字母设计
哈夫曼编码。
6511193262
3032
38
100
17
10721A H C F D B E G 000
111
00001111 A 000
B 101
C 10000
D 1001
E 11
F 10001
G 01
H 001
2、已知权值集合为{5,7,2,3,6,9},要求给出哈夫曼树,并计算带权路径长度WPL 。
21561118
7
3
4
1230
WPL=12*1+(4+5+6)*3+(1+2)*4=12+45+12=69
3、已知一棵二叉树的先序序列:ABDGJEHCFIKL ;中序序列:DJGBEHACKILF 。
画出二叉树的形态。
A
L K I H F C E
J G
D B。