数据结构 树 考试习题
数据结构练习题库与答案
数据结构练习题库与答案一、单选题(共100题,每题1分,共100分)1.树形结构是数据元素之间存在一种()。
A、多对多关系B、多对一关系C、一对多关系D、一对一关系正确答案:C2.设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。
若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为()。
A、23B、62C、21D、41正确答案:A3.对于一个无向图,下面( )种说法是正确的。
A、每个顶点的入度等于出度B、每个顶点的度等于其入度与出度之和C、每个顶点的入度为0D、每个顶点的出度为0正确答案:A4.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是( )A、120B、100C、108D、110正确答案:C5.哈夫曼树中度为1的结点个数为( )。
A、1B、2C、0D、不确定正确答案:C6.在有n个叶子结点的哈夫曼树中,其结点总数为()。
A、2nB、不确定C、2n+1D、2n-1正确答案:D7.设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点。
A、101B、102C、99D、100正确答案:D8.设输入序列是1、2、3、……、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是()。
A、n-1-IB、n-IC、n+1-ID、不能确定正确答案:C9.设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1,m2和m3与森林F对应的二叉树根结点的右子树上的结点个数是( )。
A、m2B、m2+m3C、m3D、m1+m2正确答案:B10.向一个栈顶指针为hs的链栈中插入一个s结点时,应执行()。
A、s->next=hs;hs=s;B、s->next=hs;hs=hs->next;C、hs->next=s;D、s->next=hs->next;hs->next=s;正确答案:A11.在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用()A、数据元素的相邻地址表示B、数据元素在表中的序号表示C、数据元素的值表示D、指向后继元素的指针表示正确答案:D12.假定一个顺序存储的循环队列的队头和队尾指针分别为f和r ,则判断队空的条件为( ).A、f==0B、f+1==rD、r+1==f正确答案:C13.对于含n个顶点和e条边的图,采用邻接矩阵表示的空间复杂度为()A、O(n+e)B、O(e)C、O(n)D、O(n2)正确答案:D14.排序算法中,不稳定的排序是()。
数据结构试题及答案
数据结构试题及答案一、单选题(每题2分,共10分)1. 在数据结构中,树的两个节点之间的关系是____。
A. 父子关系B. 兄弟关系C. 祖孙关系D. 兄弟姐妹关系答案:A2. 在二叉搜索树中,左子树节点的值总是____。
A. 大于根节点的值B. 等于根节点的值C. 小于根节点的值D. 无法确定答案:C3. 在链表中,删除一个节点时,需要修改该节点的____。
A. 前驱节点B. 后继节点C. 前驱节点和后继节点D. 无需修改其他节点答案:A4. 哪种排序算法的时间复杂度最差情况下是O(nlogn)?A. 冒泡排序B. 插入排序C. 快速排序D. 堆排序答案:C5. 哪种数据结构先进先出?A. 栈B. 队列C. 哈希表D. 二叉树答案:B二、填空题(每空2分,共10分)1. 在栈中,最先插入的元素位于____,最后插入的元素位于____。
答案:底部,顶部2. 二叉树的遍历方式有前序遍历、中序遍历和____遍历。
答案:后序3. 哪种数据结构以哈希函数计算关键字的位置?答案:哈希表4. 在队列中,最先插入的元素位于____,最后插入的元素位于____。
答案:队头,队尾5. 递归算法的特点是____。
答案:自己调用自己三、简答题(每题10分,共20分)1. 请简要说明二叉树和二叉搜索树的定义及其应用场景。
答案:二叉树是一种每个节点最多有两个子节点的数据结构。
二叉搜索树是一种特殊的二叉树,它的左子树节点的值小于根节点的值,右子树节点的值大于根节点的值。
二叉树广泛应用于文件系统的存储、排序算法中,而二叉搜索树则常用于快速查找和插入操作。
2. 请简述堆排序的原理和步骤。
答案:堆排序是一种利用堆数据结构进行排序的算法。
它的原理是将待排序的序列构建成一个大顶堆(或小顶堆),然后将堆顶元素与序列的最后一个元素交换,接着将剩余的元素重新调整为一个新的大顶堆(或小顶堆),再重复上述过程,直到整个序列有序。
步骤:1) 构建初始堆:从最后一个非叶子节点开始,依次将当前节点与其子节点进行比较并进行交换,保持堆的定义。
数据结构练习题--树(题)
第六章树一.名词解释: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. 树最适合用来表示()。
数据结构树考试题
数据结构-树练习题一、选择题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
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,该树采用孩子兄弟链存储结构时,则总的指针域数为()。
数据结构考试试题及答案
数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。
答案:线性2. 一个具有n个顶点的无向图的边数最多为______。
答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。
答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。
数据结构(树)习题与答案
一、单选题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的结点,则叶子结点的个数为()。
数据结构试卷试题及答案
数据结构试卷试题及答案一、选择题(每题3分,共15分)1. 下列哪种数据结构是线性结构?A. 树B. 图C. 队列D. 堆答案:C2. 在线性表中,插入一个新元素的平均时间复杂度是?A. O(1)B. O(n)C. O(log n)D. O(n^2)答案:B3. 下列哪种排序算法的时间复杂度是O(n^2)?A. 快速排序B. 归并排序C. 插入排序D. 堆排序答案:C4. 在二叉树中,具有n个节点的完全二叉树的高度是?A. nB. log nC. n-1D. log(n+1)答案:D5. 下列哪种图的遍历算法是深度优先遍历?A. DFSB. BFSC. DijkstraD. Prim答案:A二、填空题(每题3分,共15分)1. 线性表是______的线性结构。
答案:n个数据元素2. 在二叉树中,度为0的节点数等于度为2的节点数加______。
答案:13. 快速排序的基本思想是______。
答案:分而治之4. 图的存储结构通常包括______和______。
答案:邻接矩阵、邻接表5. 在哈希表中,解决冲突的方法有______和______。
答案:开放地址法、链地址法三、解答题(每题10分,共50分)1. 请简述线性表的顺序存储结构和链式存储结构的特点。
答案:线性表的顺序存储结构特点是数据元素连续存储,随机访问快,插入和删除操作慢;链式存储结构特点是数据元素不连续存储,随机访问慢,插入和删除操作快。
2. 请用C语言实现一个单链表的插入操作。
答案:```cstruct Node {int data;struct Node next;};void insertNode(struct Node head, int data) {struct Node newNode = (structNode)malloc(sizeof(struct Node));newNode->data = data;newNode->next = head;head = newNode;}```3. 请简述二分查找的算法思想和适用条件。
数据结构 树 考试习题
第五章树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)个结点。
数据结构考试试题及答案
数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是()。
A. 元素之间存在一对一关系B. 元素之间存在一对多关系C. 元素之间存在多对多关系D. 元素之间存在一对一或一对多关系答案:A2. 下列哪个不是线性表的顺序存储结构的特点()。
A. 随机访问B. 节省空间C. 插入和删除操作需要移动元素D. 存储密度高答案:B3. 在树形结构中,度为2的树称为()。
A. 二叉树B. 满二叉树C. 完全树D. 平衡树答案:A4. 哈希表的冲突解决方法中,不包括以下哪种()。
A. 分离链接法B. 线性探测法C. 链地址法D. 排序法答案:D5. 排序算法中,不属于比较类排序的是()。
A. 快速排序B. 归并排序C. 计数排序D. 堆排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是()。
A. 栈B. 队列C. 链表D. 数组答案:A7. 以下哪个不是图的存储结构()。
A. 邻接矩阵B. 邻接表C. 边表D. 树表答案:D8. 在二叉树中,如果一个节点的左子树为空,则该节点被称为()。
A. 根节点B. 叶子节点C. 内部节点D. 外部节点答案:C9. 在数据结构中,栈的特点是()。
A. 先进后出B. 后进先出C. 先进先出D. 后进后出答案:A10. 递归算法的时间复杂度通常取决于()。
A. 递归的深度B. 递归的广度C. 递归的类型D. 递归的参数答案:A二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的时间复杂度是指算法执行过程中所需基本操作的______与输入数据量之间的关系。
2. 线性表的两种存储结构分别是顺序存储结构和______存储结构。
答案:链式3. 在二叉树中,如果一个节点的左子树和右子树都非空,则该节点被称为______节点。
答案:内部4. 哈希表的______是指在哈希表中,两个关键字不同的元素被映射到同一位置。
答案:冲突5. 在排序算法中,冒泡排序的时间复杂度是______。
数据结构第6章树习题
第六章树习题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、2hB、2h-1C、2h+1D、h+15、对于有n个结点的二叉树, 其高度为()。
log D、不确定A、n log2nB、log2nC、⎣⎦n26、利用二叉链表存储树,则根结点的右指针是()。
A、指向最左孩子B、指向最右孩子C、空D、非空7、树的后根遍历序列等同于该树对应的二叉树的( )。
A、先序遍历B、中序遍历C、后序遍历D、层序遍历8、在下列存储形式中,哪一个不是树的存储形式?()A、双亲表示法B、孩子链表表示法C、孩子兄弟表示法D、顺序存储表示法9、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。
A、CBEFDAB、FEDCBAC、CBEDFAD、不定10、某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A、空的或只有一个结点B、任一结点无左子树C、高度等于其结点数D、任一结点无右子树11、一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( )。
A、不确定B、0C、1D、212、若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为( )。
A、X的双亲B、X的右子树中最左的结点C、X的左子树中最右结点D、X的左子树中最右叶结点13、引入二叉线索树的目的是().A、加快查找结点的前驱或后继的速度B、为了能在二叉树中方便的进行插入和删除C、为了能方便的找到双亲D、使二叉树的遍历结果唯一14、下述编码中哪一个不是前缀码()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章树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. 树最适合用来表示()。
A.有序数据元素 B.无序数据元素C. 元素之间具有分支层次关系的数据 D.元素之间无联系的元素10.有64个结点的完全二叉树的深度为( ) (根的层次为第1层)。
A. 8B. 7C. 6D. 511.在一棵度为3的树中,度为3的结点有2个,度为2的结点有1个,度为1的结点有2个,那么,该树有()个叶子结点。
A. 4B. 5C. 6D. 79.一个二叉树按顺序方式存储在一个维数组中,如图0 1 2 3 4 5 6 7 8 9 10 11 12 13 14A、2B、3C、4D、510. 由权值分别为 11 , 8 , 6 , 2 , 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为()A 24B 71C 48D 538. 二叉树上叶结点数等于()。
A.分支结点数加1 B.单分支结点数加1C.双分支结点数加1 D.双分支结点数减18. 某二叉树的先序序列和后序序列正好相同,则该二叉树一定是( )的二叉树。
A.空或只有一个结点B.高度等于其结点数C.任一结点无左孩子D.任一结点无右孩子9. 在有n 个结点的二叉链表中,值为空的链域的个数为( ) A. n-1 B. 2n-1 C. n+1 D. 2n+1 10. 一棵含18个结点的二叉树的高度至少为( )A. 8B. 7C. 6D. 5 11. 深度优先遍历类似于二叉树的( )A.先序遍历B. 中序遍历C. 后序遍历D. 层次遍历9. 一棵124个叶结点的完全二叉树,最多应有()个结点。
A.245B.246C.247D.24810. 后缀表达式“ 5 6*3 2 + -”的值为( )。
A.15B.25C.30D.3511. 由权值分别为 11 , 8 , 6 , 2 , 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )A. 24B. 71C. 48D.537. 对一个满二叉树,m 个树叶, n 个结点, 深度为为h, 则( )。
A. n=2h-1 B.h+m=2n C.m=h-1 D. n=h+m8. 在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加( )。
A.2B.1C.0D.-19. 若完全二叉树的结点总个数为100(结点编号从1开始编号,按层序编号),则第58个结点的度为( )A.2B.1C.0D.不确定10. 已知完全二叉树的第9层有240个结点,则该完全二叉树的结点数是()A.494B.495C.496D.497二、填空题1. 一棵深度为5的二叉树,至多有_____________个结点。
316.图的存储结构有__________________和__________________,遍历图有______________、_____________等方法。
邻接矩阵 邻接表 深度优先 广度优先7.深度为k的完全二叉树最多有 个结点。
12 k8.若按层序对深度为k的完全二叉树中全部结点从1开始编号,则叶子结点可能的最小编号为 。
122+-k6.设有树如图所示,则结点c的度为___________,层次为___________,树的度为___________,树的高度为___________。
结点c的度为2, 层次为2, 树的度为3,高度为47.深度为k的完全二叉树至少有___________个结点,最多有___________个结点。
12-k ,12-k7.对于一棵具有n 个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为_______个,其中_______个用于链接孩子结点,_______个空闲着。
2n ,n-1,n+1 2. 后缀表达式“2 10 + 5 * 6 – 9 /”的值为 。
6 3.由n 个权值构成的哈夫曼树共有 个结点。
2n-1 6.在一棵树中, ____ 结点没有后继结点。
叶4.后缀表达式“2 10 + 5 * 6 – 9 /”的计算结果为 。
64.一棵深度为7的二叉树,最多有 个结点。
1275.若一棵树的括号表示为A(B,C(E,F(G)),D),该树的叶子结点个数为________ ,该树的度为_____________ ,该树的深度为_____________。
4、3、46.在有n 个叶子结点的哈夫曼树中,总结点数是_______。
2n-11. 深度为4的完全二叉树最少有______个结点,最多有_______个结点。
8156. 假定一棵树的广义表表示为A(B(C(D,E),F,G(H,I,J)),K),则度为3、2、1、0的结点数分别为______、______、______和______个。
2276. 若结点A 有其他三个兄弟,B 是A 的双亲结点,B 的度是_______________。
47. 一棵二叉树有67个结点,这些结点的度要么是0,要么是2。
这棵二叉树中度为2的结点有_____________个。
338. 一棵深度为7的二叉树,最多有 个结点。
127三、应用题1、名词解释:树,子树,结点的度,叶子结点,孩子,双亲,兄弟,深度,有序树,森林,二叉树,遍历二叉树,树的带权路径长度,哈夫曼树。
2、描述二叉树的性质。
3、从概念上讲,树、森林和二叉树是三种不同的数据结构,将树、森林转换为二叉树的基本目的是什么?指出树和二叉树的主要区别。
4、已知一棵树边的结点为{<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)树的深度是多少?5、试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。
6、已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,n k个度为k 的结点,问该树中有多少个叶子结点?7、已知在一棵含有n 个结点的树中,只有度为k 的分支结点和度为0的叶子结点。
试求该树含有的叶子结点的数目。
8、有n个结点的二叉树,已知叶子结点个数为n0,写出求度为1的结点的个数n1的计算公式;若此树是深度为k的完全二叉树,写出n 为最小的公式;若二叉树中仅有度为0和度为2的结点,写出求该二叉树结点个数n的公式。
9、假设n 和m 为二叉树中两结点,用“1”,“0”或“”(分别表示肯定、恰恰相反或者不一定)填写下表:子树中,b在p的右子树中,则称a在b的左方(即b在a的右方)。
10、找出所有满足下列条件的二叉树:(a)它们在先序遍历和中序遍历时,得到的结点访问序列相同;(b)它们在后序遍历和中序遍历时,得到的结点访问序列相同;(c)它们在先序遍历和后序遍历时,得到的结点访问序列相同;11、分别画出和下列树对应的各个二叉树:12、画出和下列二叉树相应的森林:13、画出和下列已知序列对应的树T:树的先根次序访问序列为GFKDAIEBCHJ ; 树的后根次序访问序列为CBEFDGAJIKLH 。
14、假设一棵二叉树的中序序列为DCBGEAHFIJK 和后序序列为DCEGBFHKJIA 。
请画出该树。
15、假设一棵二叉树的层序序列为ABCDEFGHIJ 和中序序列为DBGEHJACIF 。
请画出该树。
16、编写递归算法,在二叉树中求位于先序序列中第k 个位置的结点的值。
17、编写递归算法,计算二叉树中叶子结点的数目。
5. 用于通信的电文仅由a 、b 、c 、d 、e 、f 、g 、h 等8个字母组成,字母在电文中出现的频率分别为:007、0.19、0.02、0.06、0.32、0.03、0.21、0.10。
试构造相应的哈夫曼树并为这些字母设计哈夫曼编码。
(9分) 得到的编码如下 :a:0010 b:10 c:00000 d:0001 e:01 f:00001 g:11 h:0011 此题答案不唯一。
5. 设先序遍历某个树的结点次序为ABDEHCFGI ,中序遍历该树的结点次序为DBEHAFCIG,要求画出这个二叉树,并写出此二叉树的后序遍历。