数据结构练习题--树(题)

合集下载

(完整word版)数据结构-树练习题

(完整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 )。

计算机存储和组织数据方式之《数据结构》关于“树”的习题(PPT内含答案)

计算机存储和组织数据方式之《数据结构》关于“树”的习题(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

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

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

第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.若一棵树的括号表示为A(B(E,F),C(G(H,I,J,K),L),D(M(N))),则该树的度为(1)4,树的深度为(2)4 ,树中叶子结点的个数为(3)8。

2.一棵满二叉树中有m个叶子,n个结点,深度为h,请写出m、n、h之间关系的表达式(4)n=2h-1,m=n+1-2h-1 n=2m-1 。

3.一棵二叉树中如果有n个叶子结点,则这棵树上最少有(5)2n-1 个结点。

一棵深度为k的完全二叉树中最少有2k-1(6)个结点,最多有(7)2k-1个结点。

4.具有n个结点的二叉树,当它是一棵(8)完全二叉树时具有最小高度(9) log2n」+1,当它为一棵单支树时具有高度(10) n 。

5.对具有n个结点的完全二叉树按照层次从上到下,每一层从左到右的次序对所有结点进行编号,编号为i的结点的双亲结点的编号为_(11)__[i/2]__,左孩子的编号为___2i____,右孩子的编号为__2i+1______。

6.若具有n个结点的二叉树采用二叉链表存储结构,则该链表中有__2n_个指针域,其中有_n-1_个指针域用于链接孩子结点,__n+1_个指针域空闲存放着NULL 。

7.二叉树的遍历方式通常有__先序__、___中序__、__后序__和___层序___四种。

8.已知二叉树的前序遍历序列为ABDCEFG,中序遍历序列为DBCAFEG,其后序遍历序列为___DCBFGEA__。

9.已知某完全二叉树采用顺序存储结构,结点的存放次序为A,B,C,D,E,F,G,H,I,J,该完全二叉树的后序序列为___HIDJEBFGCA____。

10.若具有n个结点的非空二叉树有n0个叶结点,则该二叉树有__n0-1_个度为2的结点,____n-2n0+1____个度为1的结点。

11.任何非空树中有且仅有一个结点没有前驱结点,该结点就是树的__根____。

度为k的树中第i层最多有___k i-1_______个结点(i>=1),深度为h的k叉树最多有___k0+k1+....+k h-1____个结点。

数据结构(树)习题与答案

数据结构(树)习题与答案

一、单选题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的结点,则叶子结点的个数为()。

《数据结构与算法设计》树-习题

《数据结构与算法设计》树-习题
8
• 已知二叉树 – 先序序列为: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

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

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编1

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编1计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编1(总分:86.00,做题时间:90分钟)一、单项选择题(总题数:27,分数:54.00)1.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )。

【西安交通大学1996三、2(3分)】A.250B.500C.254D.505E.以上答案都不对√2.一棵124个叶结点的完全二叉树,最多有( )个结点。

【中国科学技术大学1995十四、3(2分)】A.247B.248 √C.249D.250E.2513.已知一棵完全二叉树中共有626个结点,叶子结点的个数应为( )。

【上海交通大学2005四、6(2分)】A.3 11B.3 12C.3 13 √D.3 14E.其他4.具有300个结点的二叉树,其高度至少应为( )。

【北京理工大学2006五、8(1分)】A.6B.7C.8D.9 √5.当结点数目一定时,具有最小深度的二叉树是( )。

【北京航空航天大学2005】A.满二叉树B.完全二叉树√C.线索二叉树D.二叉排序树设结点数目是n,n个结点未必是满二叉树,A错。

C和D明显错误。

6.二叉树的第I层上最多含有的结点数为( )。

【中山大学1998二、7(2分)】【北京理工大学2001六、5(2分)】A.2 IB.2 I-1一1C.2 I-1√D.2 I一17.从树根(第0层)起,自上到下,逐层从左到右给二叉树的所有结点从1开始编号,则完全二叉树的第h 层的从左到右第k个结点的编号为( )。

【电子科技大学2005一、6(1分)】A.2 h +h-1 √B.2 h一k+1C.2 h +k+1D.2 h一k-18.下列判断中,( )是正确的。

【华南理工大学2006一、2(2分)】A.深度为k的二叉树最多有2 k -1个结点(k≥1),最少有k个结点√B.二叉树中不存在度大于2的结点√C.对二叉树遍历是指先序、中序或后序遍历中的一种D.构造线索二叉树是为能方便找到每个结点的双亲9.一个具有1025个结点的二叉树的高h为( )。

数据结构树的测试题(二)

数据结构树的测试题(二)

习题六树和二叉树一、单项选择题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.元素之间无联系的数据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)

数据结构树图测试题(1)

一、填空题1. 一完全二叉树共有500个结点,则在该二叉树中有 个度为2的结点。

2. 设某二叉树的前序遍历序列为:ABCDEFGHI ,中序遍历序列为:BCAEDGHFI ,则该二叉树的后序遍历序列是 。

3. 对于一个稀疏图,在求该图对应的最小生成树时,Prim 算法和kruskal 算法哪一个算法效率更高 。

4. 对于一个n 个结点的满二叉树,假设该树有m 个树叶,深度为h ,则 h= 。

5. 设高度为h 的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为 ,至多为 。

6. 一棵有n 个结点的满二叉树有_ _ 个叶子,该满二叉树的深度为_ __。

7. 设F 是由T1,T2,T3三棵树组成的森林,与F 对应的二叉树为B,已知T1,T2,T3的结点数分别为n1,n2和n3则二叉树B 的左子树中有__ _个结点。

8. 一颗含有101个结点的完全二叉树存储在数组A[1..101]中,若A[k]为叶子结点,则k 的最小值是 。

9. 一颗深度为h 的完全二叉树上的结点总数最小值为 ,最大值为 。

二、选择题1. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1,则T 中的叶子数为( )。

A .5B .6C .7D .81. 在有向图G 的拓扑序列中,若顶点Vi 在顶点Vj 之前,则下列情形不可能出现的是( )。

A .G 中有弧<Vi ,Vj>B .G 中有一条从Vi 到Vj 的路径C .G 中没有弧<Vi,Vj>D .G 中有一条从Vj 到Vi 的路径 1. 若完全二叉树的结点总数为偶数,则度为1的结点有( )个。

A. 0B. 1C. 2D. 不确定1. 已知一棵二叉树的前序遍历结果为ABCDEF, 中序遍历结果为CBAEDF, 则后序遍历的结果为( )。

A .CBEFDAB . FEDCBAC . CBEDFAD .不定 1. 下述编码中哪一个不是前缀码( )。

数据结构(本)单元6树和二叉树单元测试

数据结构(本)单元6树和二叉树单元测试

数据结构(本)单元6树和二叉树单元测试(题+答案)题目1、假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为()。

A. 15B. 16C. 47D. 17题目2、已知某二叉树的后续遍历序列是dabec,中序遍历是debac,则它的先序遍历序列是()。

A. cedbaB. decabC. acbedD. deabc题目3、二叉树第k层上最多有()个结点。

A.B.C.D. 2k题目4、二叉树的深度为k,则二叉树最多有()个结点。

A.B.C. 2kD. 2k-1题目5、设某一二叉树先序遍历为abdec,中序遍历为dbeac,则该二叉树后序遍历的顺序是()。

A. debacB. debcaC. abedcD. abdec题目6、设某一二叉树中序遍历为badce,后序遍历为bdeca,则该二叉树先序遍历的顺序是()。

A. debacB. decabC. adbecD. abcde题目7、树最适合于用来表示()。

A. 元素之间有包含和层次关系的数据B. 元素之间无前驱和后继关系的数据C. 顺序结构的数据D. 线性结构的数据题目8、一棵非空的二叉树,先序遍历与后续遍历正好相反,则该二叉树满足()。

A. 任意二叉树B. 无左孩子C. 只有一个叶子结点D. 无右孩子题目9、设a,b为一棵二叉树的两个结点,在后续遍历中,a在b前的条件是()。

A. a在b左方B. a在b右方C. a在b上方D. a在b下方题目10、权值为{1,2,6,8}的四个结点构成的哈夫曼树的带权路径长度是()。

A. 29B. 18C. 19D. 28题目11、如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为()。

A. 哈夫曼树B. 平衡二叉树C. 二叉树D. 完全二叉树题目12、下列有关二叉树的说法正确的是()。

A. 完全二叉树中,任何一个结点的度,或者为0或者为2B. 二叉树中度为0的结点的个数等于度为2的结点的个数加1C. 二叉树的度是2D. 二叉树中结点个数必大于0题目13、二叉树是非线性数据结构,所以()。

关于树练习题

关于树练习题

关于树练习题树是数据结构中一种重要的形式,它是由若干个节点组成的集合,节点之间通过边连接。

树具有分层结构,可以看作是一个层次化的数据集合。

在计算机科学中,树的应用非常广泛,例如在算法设计、数据库索引、文件系统等方面。

一、树的基本概念树由节点和边组成。

节点包括树的根节点、内部节点和叶子节点。

根节点是树的顶部节点,没有父节点;内部节点是除根节点和叶子节点外的其它节点,具有一个父节点和若干个子节点;叶子节点是没有子节点的节点。

边是连接节点的线段,表达节点之间的关系。

二、树的表示方法1. 子节点表示法:每个节点包含一个指向子节点的指针数组。

这种表示方法适用于每个节点的子节点数量已知且固定的情况,例如二叉树。

2. 子树表示法:每个节点包含指向左子树和右子树的指针。

这种表示方法适用于二叉树等每个节点最多有两个子节点的情况。

3. 双亲表示法:每个节点包含一个指向父节点的指针。

通过该指针,可以从子节点找到其父节点。

这种表示方法适用于树中每个节点的父节点唯一确定的情况。

4. 孩子兄弟表示法:每个节点包含指向第一个子节点和下一个兄弟节点的指针。

这种表示方法适用于每个节点具有多个子节点的情况,例如树或森林。

三、树的遍历方式1. 深度优先遍历(DFS):从根节点开始,先遍历完当前节点的所有子节点,再依次遍历各个子节点的子节点。

2. 广度优先遍历(BFS):从根节点开始,按层次遍历树的节点,先遍历当前层的所有节点,再依次遍历下一层的节点。

四、树的常见应用1. 二叉搜索树:是一种特殊的二叉树,它的左子树中的节点值都小于根节点的值,右子树中的节点值都大于根节点的值。

二叉搜索树常用于实现数据的快速查找和排序。

2. 平衡二叉树:是一种具有平衡性质的二叉搜索树,可以保持树的左右子树高度差不超过1。

平衡二叉树常用于高效地实现数据的插入、删除和查找。

3. 堆:是一种特殊的完全二叉树,它的父节点的值总是大于等于(或小于等于)子节点的值。

数据结构(c语言版)习题-树

数据结构(c语言版)习题-树

一、选择题1.一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( )A.-A+B*C/DE B. -A+B*CD/E C.-+*ABC/DE D. -+A*BC/DE2.算术表达式a+b*(c+d/e)转为后缀表达式后为()A.ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++3. 在一颗度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点。

则树T的叶结点个数是( )。

A. 41B. 82C. 113D. 1224. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为()A.5 B.6 C.7 D.85. 在下述结论中,正确的是()①只有一个结点的二叉树的度为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.条件不足,无法确定7.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定8.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。

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

A.M1 B.M1+M2 C.M3 D.M2+M39.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()。

A. 250 B. 500 C.254 D.505 E.以上答案都不对10. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )。

A.不确定 B.2n C.2n+1 D.2n-111.若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()。

数据结构二叉树练习题

数据结构二叉树练习题

1. 填空题:
(1) 对于一个具有n个结点的二叉树,当它为一棵___完全__二叉树时,具有最小高度,高度等于_log 2 (n+1);当它为一棵只有一个叶子结点的二叉树时,具有最大高度,高度等于__2^n -1_。

(2) 由三个结点构成的二叉树,共有__5__种不同的结构。

2、在一棵非空二叉树的中序遍历序列中,根结点的右边_A__。

A. 只有右子树上的所有结点
B. 只有右子树上的部分结点
C. 只有左子树上的所有结点
D. 只有左子树上的部分结点
3.写出下图中二叉树的先序遍历序列、中序遍历序列、后序遍历序列、层次遍历序列,并回答以下问题:该树的度等于多少?树的深度是多少?叶子结点的个数是多少?
先序遍历序列:ABDGCEFH
中序遍历序列:DGBAECHF
后序遍历序列:GDBEHFCA
层次遍历序列:ABCDEFGH
该树的度等于5,树的深度是log10+1,叶子结点的个数是3.
4.已知一棵二叉树的中根和后根遍历序列如下,画出该二叉树。

中根遍历序列:C D B E G A H F I J K
后根遍历序列:D C E G B F H K J I A。

树练习题大全

树练习题大全

树练习题大全一、概述树是一种常见的数据结构,用于表示具有层次关系的数据。

在计算机科学中,树结构被广泛应用于各个领域,如操作系统、编译器、数据库等。

树结构的特点是具有一个根节点,每个节点可以有多个子节点,形成层次结构。

二、常见概念1. 节点:树中的每个元素称为节点,节点可以包含一个数据项或多个数据项。

2. 根节点:树的顶部节点称为根节点,它是树的唯一入口。

3. 子节点:节点下面的节点称为子节点,一个节点可以有多个子节点。

4. 父节点:节点上面的节点称为父节点,一个节点可以有一个父节点。

5. 叶子节点:没有子节点的节点称为叶子节点。

6. 层级:节点的层级由根节点到该节点的路径长度决定,根节点的层级为0。

7. 子树:一个节点及其所有后代节点构成的树称为子树。

8. 深度:树的深度是树中任一节点到叶子节点的最长路径长度。

9. 二叉树:每个节点最多有两个子节点的树称为二叉树。

三、树的遍历树的遍历是指按照一定的规则访问树中的所有节点。

常见的树的遍历方式有前序遍历、中序遍历和后序遍历。

1. 前序遍历(Preorder Traversal)前序遍历先访问根节点,然后递归地遍历左子树和右子树。

2. 中序遍历(Inorder Traversal)中序遍历先递归地遍历左子树,然后访问根节点,最后递归地遍历右子树。

3. 后序遍历(Postorder Traversal)后序遍历先递归地遍历左子树和右子树,然后访问根节点。

四、树的应用1. 二叉搜索树(Binary Search Tree,BST)二叉搜索树是一种特殊的二叉树,对于每个节点,其左子树的值都小于节点的值,右子树的值都大于节点的值。

二叉搜索树常用于实现快速查找、插入和删除。

2. 平衡树(Balanced Tree)平衡树是一种高度平衡的二叉搜索树,可以保证在最坏情况下的时间复杂度仍然是O(log n)。

常见的平衡树有红黑树、AVL树等。

3. 堆(Heap)堆是一种特殊的树结构,可以分为最大堆和最小堆。

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)

数据结构模拟试题(含答案)一、单选题(共100题,每题1分,共100分)1、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个。

A、5B、6C、7D、4正确答案:B2、假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为()个。

A、15B、47C、16D、17正确答案:C3、设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。

A、100B、99C、102D、101正确答案:A4、一棵含18个结点的二叉树的高度至少为( )A、5B、4C、6D、3正确答案:A5、有关栈的描述,正确的是()A、栈是一种先进先出的特殊的线性表B、只能从栈顶执行插入、删除操作C、只能从栈顶执行插入、栈底执行删除D、栈顶和栈底均可执行插入、删除操作正确答案:B6、若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的()A、中序遍历算法B、前序遍历算法C、后序遍历算法D、层次遍历算法正确答案:A7、若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是( ) typedef struct node { char data[8]; struct node *next; } LinkStrNode;A、s->next=p; p->next=s->next;B、s->next=p->next; p->next=s;C、p->next=s->next; s->next=p;D、p->next=s; s->next=p->next;正确答案:B8、在一个长度为n的顺序表的任一位置插入一个新元素的渐进时间复杂度为( )。

A、O(n)B、O(1)C、O(n2)D、O(n/2)正确答案:A9、执行一趟快速排序能够得到的序列是()。

A、[45,34,12,41] 55 [72,63,27]B、[63,12,34,45,27] 55 [41,72]C、[12,27,45,41] 55 [34,63,72]D、[41,12,34,45,27] 55 [72,63]正确答案:D10、带权有向图G用邻接矩阵A存储,则顶点i 的入度等于A中()。

数据结构(树与图部分)练习题

数据结构(树与图部分)练习题

数据结构(树与图部分)练习题数据结构(树与图部分)练习题⼀、填空题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章

数据结构课后练习 - 第6章

A 3. 根据树的定义,具有3个结点的树有_______种树形。
二、单项选择题
C 4. 节点前序为ABC的不同二叉树________形态。 A. 3 A. 5 B. 4 B. 6 C. 5 C. 7 D. 6 D. 8 B 5. 具有35个结点的完全二叉树的深度为_________。
三、填空题
结点拥有子树个数 1. 在树的定义中,结点的度是____________________ ; 度为0的结点 叶子结点是____________________ ;树的度是 树中所有结点的最大值 ____________________;树中结点的最大层次称为树 深度/高度 的____________________。 最短 2. 哈夫曼树的带权路径长度_____________的二叉树。 3. 某二叉树的前序遍历序列为DABEC,中序遍历序列为 EBCAD DEBAC,则后序遍历序列为____________________。
① 画出这棵树的形态。
② 写出该树后序遍历的结点访问顺序。
a
b c
后序遍历:
gdbehfca
d
g
e
h
f
5. 设树T的度为4,其中度为1,2,3,4的结点个数分别为4, 2,1,1。问T中有多少个叶子结点? 利用树的性质:各结点射出的分支总数+1=总结点数
① 树T中,各个结点射出的分支总数: 4×1 + 2×2 + 1×3 + 1×4 = 15
2. 给定一个权集W={4,5,7,8,6,12,18},请画出相应的哈夫曼 树,并计算其带权路径长度WPL。 60 35 17 8 4 9 5 18 12 6 25 13 7 WPL = 8×3 + (4 + 5)×4 + 18×2 + 12×2 + (6+7)×3 = 159 树型不唯一,但最小WPL值是唯 一的。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章树一.名词解释: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.每个二叉链表的访问只能从______结点的指针,该指针具有标识二叉链表的作用。

12.对二叉链表的访问只能从______指针开始,若二叉树为空,则______=NULL.13.二叉链表中每个存储结点的每个指针域必须有一个值,这个值或者是____________的指针,或者是______。

14.具有n个结点的二叉树中,一共有________个指针域,其中只有________个用来指向结点的左右孩子,其余的________个指针域为NULL。

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

Void countleaf(bitreptr t,int *count)/*根指针为t,假定叶子数count的初值为0*/{if(t!=NULL){if((t->lchild==NULL)&&(t->rchild==NULL))________;countleaf(t->lchild,&count);________}}18.一棵二叉树由根、左子树和右子树三部分组成,因此对二叉树的遍历也可相应地分解成________、________、________三项“子任务”。

19.若以D、L、R分别表示二叉树的三项子任务,限定“先左后右”,这样可能的次序有:________、________、________三种,按这三种次序进行的遍历分别称为________、________、________。

20.树的主要遍历方法有________、________、________等三种。

24.若二叉树的一个叶子是某子树的中根遍历序列中的第一个结点,则它必是该子树的后根遍历序列中的________个结点。

25.在________遍历二叉树的序列中,任何结点的子树上的所有结点,都是直接跟在该结点之后。

26.具有n个结点的完全二叉树,若按层次从上到下、从左到右对其编,号(根结点为1号),则编号最大的分支结点序号是________,编号最小的分支结点序号是________,编号最大的叶子结点序号是________,编号最小的叶子结点序号是________。

27.二叉树的先根遍历序列中,除根结点外,任一结点均处在其双亲结点的________。

28.先根遍历树和先根遍历与该树对应的二叉树,其结果________。

29.树与二叉树之间最主要的差别是:二叉树中各结点的子树要区分为________和________,即使在结点只有一棵子树的情况下,也要明确指出该子树是________还是________。

30.由________转换成二叉树时,其根结点的右子树总是空的。

31.哈夫曼树是带权路径度________的树,通常权值较大的结点离根________。

32.有m个叶子结点的哈夫曼树,其结点总数为________。

33.一棵树的形状如图填空题33所示,它的根结点是________,叶子结点是________,结点H的度是________,这棵树的度是________,这棵树的深度是________,结点F的儿子结点是________,结点G的父结点是________。

34.树的结点数目至少为________,二叉树的结点数目至少为________。

35.________中结点的最大度数允许大于2,而________中结点的最大度数不允许大于2。

36.结点最少的树为________,结点最少的二叉树为________。

37.若一棵二叉树的叶子数为n,则该二叉树中,左、右子树皆非空的结点个数为________。

38.任意一棵具有n个结点的二叉树,若它有m个叶子,则该二叉树上度数为1的结点为________个。

39.现有按中序遍历二叉树的结果为ABC,问有________种不同形态的二叉树可以得到这一遍历结果,这些二叉树分别是________。

40.以数据集{4,5,6,7,10,12,18}为叶结点权值所构造的哈无曼树为________,其带权路径长度为________。

41.有m个叶子结点的哈夫曼树上的结点数是________。

42.已知一棵度为3的树有2个度为1的结点,3个度过为2的结点,4个度为3的结点,则该树中有________个叶子结点。

43.设树T的度为4,其中度为1、2、3和4的结点个数分别是4、2、1和1,则T中叶子结点的个数是________。

三、单向选择题1.以下说法错误的是 ( )①树形结构的特点是一个结点可以有多个直接前趋②线性结构中的一个结点至多只有一个直接后继③树形结构可以表达(组织)更复杂的数据④树(及一切树形结构)是一种"分支层次"结构⑤任何只含一个结点的集合是一棵树2,以下说法错误的是 ( )①二叉树可以是空集②二叉树的任一结点都有两棵子树③二叉树与树具有相同的树形结构④二叉树中任一结点的两棵子树有次序之分3、以下说法错误的是 ( )①完全二叉树上结点之间的父子关系可由它们编号之间的关系来表达②在三叉链表上,二叉树的求双亲运算很容易实现③在二叉链表上,求根,求左、右孩子等很容易实现④在二叉链表上,求双亲运算的时间性能很好4、以下说法错误的是 ( )①一般在哈夫曼树中,权值越大的叶子离根结点越近②哈夫曼树中没有度数为1的分支结点③若初始森林中共有n裸二叉树,最终求得的哈夫曼树共有2n-1个结点④若初始森林中共有n裸二叉树,进行2n-1次合并后才能剩下一棵最终的哈夫曼树5.深度为6的二叉树最多有( )个结点 ( )①64 ②63 ③32 ④316.将含有83个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,那么编号为41的双结点编号为 ( )①42 ②40 ③21 ④207.任何一棵二叉树的叶结点在其先根、中根、后跟遍历序列中的相对位置 ( ) ①肯定发生变化②有时发生变化③肯定不发生变化④无法确定8.设二叉树有n个结点,则其深度为 ( )①n-1 ②n ③5floor(log2n) ④无法确定9.设深度为k的二叉树上只有度为0和度为2的节点,则这类二叉树上所含结点总数最少()个①k+1 ②2k ③2k-1 ④2k+110.下列说法正确的是 ( )①树的先根遍历序列与其对应的二叉树的先根遍历序列相同②树的先根遍历序列与其对应的二叉树的后根遍历序列相同③树的后根遍历序列与其对应的二叉树的先根遍历序列相同④树的后根遍历序列与其对应的二叉树的后根遍历序列相同11.下列说法中正确的是 ( )①任何一棵二叉树中至少有一个结点的度为2②任何一棵二叉树中每个结点的度都为2③任何一棵二叉树中的度肯定等于2④任何一棵二叉树中的度可以小于212.一棵二叉树满足下列条件:对任意结点,若存在左、右子树,则其值都小于它的左子树上所有结点的值,而大于右子树上所有结点的值。

现采用()遍历方式就可以得到这棵二叉树所有结点的递增序列。

①先根②中根③后根④层次13.设森林T中有4棵树,第一、二、三、四棵树的结点个数分别是n1,n2,n3,n4,那么当把森林T转换成一棵二叉树后,且根结点的右子树上有()个结点。

①n1-1 ②n1③n1+n2+n3④n2+n3+n414.森林T中有4棵树,第一、二、三、四棵树的结点个数分别是n1,n2,n3,n4,那么当把森林T转换成一棵二叉树后,且根结点的左孩子上有()个结点。

①n1-1 ②n1③n1+n2+n3④n2+n3+n415.对含有()个结点的非空二叉树,采用任何一种遍历方式,其结点访问序列均相同。

①0 ②1 ③2 ④不存在这样的二叉树16.讨论树、森林和二叉树的关系,目的是为了()①借助二叉树上的运算方法去实现对树的一些运算②将树、森林按二叉树的存储方式进行存储③将树、森林转换成二叉树④体现一种技巧,没有什么实际意义17.如图选择题17所示二叉树的中序遍历序列是()①abcdgef ② dfebagc ③dbaefcg ④defbagc18.已知某二叉树的后续遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是()①acbed ②deabc ③decab ④cedba19.如果T2是由有序树T转化而来的二叉树,那么T中结点的前序就是T2中结点的()①前序②中序③后序④层次序20.如果T2是由有序树T转化而来的二叉树,那么T中结点的后序就是T2中结点的()①前序②中序③后序④层次序21.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序遍历的结点访问顺序是()①bdgcefha ②gdbecfha ③④ bdgechfa ④ gdbehfca22.在图选择题22中的二叉树中,()不是完全二叉树。

相关文档
最新文档