您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 数据结构第二单元练习题答案
数据结构第二单元练习题答案一、选择1.树最适合用来表示()A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据2.在下述结论中,正确的是()①只有一个结点的二叉树的度为0;②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。A.①②③B.②③④C.②④D.①④3.以下说法正确的是()A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树的度肯定等于2D.任何一棵二叉树的度可以小于24.在下列情况中,可称为二叉树的是()A.每个结点至多有两棵子树的树B.哈夫曼树C.每个结点至多有两棵子树的有序树D.每个结点只有一棵右子树E.以上答案都不对5.深度为h的满m叉树的第k层有()个结点(1=k=h)A.mk-1B.mk-1C.mh-1D.mh-16.在一棵高度为k的满二叉树中,结点总数为()A.2k-1B.2kC.2k-1D.log2k+17.在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为()个A.4B.5C.6D.78.具有10个叶结点的二叉树中有()个度为2的结点。A.8B.9C.10D.ll9.二叉树有n个结点,则其深度为()A.n-1B.nC.(log2n)+`1D.无法确定该题是二叉树不是完全二叉树由二叉树结点的公式:n=n0+n1+n2=n0+n1+(n0-1)=2n0+n1-1,因为n=1001,所以1002=2n0+n1,在完全二叉树树中,n1只能取0或1,在本题中只能取0,故n=501,因此选E。10.一个具有1025个结点的二叉树的高h为()A.11B.10C.11至1025之间D.10至1024之间11.一棵具有n个结点的完全二叉树的深度是()A.log2n+1B.log2n+1C.log2nD.log2n-112.将有关二叉树的概念推广到三叉树,则一棵有244个结点的完全三叉树的高度()A.4B.5C.6D.713.将一棵有100个结点的完全二叉树从根结点这一层开始,每一层上从左到右依次对结点编号,根结点的编号为1,则编号为49的结点的左孩子编号为()A.98B.99C.50D.48利用二叉树的性质514.在完全二叉树中,若一个结点是叶结点,则它没()A.左子结点B.右子结点C.左子结点和右子结点D.左子结点,右子结点和兄弟结点15.当一棵有n个结点的二叉树按层次从上到下,同层次从左到右将数据存放在一维数组A[l..n]中时,数组中第i个结点的左孩子为()A.A[2i](2i=n)B.A[2i+1](2i+1=n)C.A[i/2]D.无法确定16.在下列存储形式中,()不是树的存储形式?A.双亲表示法B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法17.以下说法错误的是()A.完全二叉树上结点之间的父子关系可由它们编号之间的关系来表达B.三叉链表,二叉树求双亲运算很容易实现C.在二叉链表上,求左.右孩子等很容易实现D.在二叉链表上,求双亲运算的时间性能很好18.对二叉树从1开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用()次序的遍历实现编号。A.先序遍历B.中序遍历C.后序遍历D.从根开始的层次遍历19.某二叉树T有n个结点,设按某种顺序对T中的每个结点进行编号,编号为1,2,…,n,且有如下性质:T中任一结点V,其编号等于左子树上的最小编号减1,而V的右子树的结点中,其最小编号等于V左子树上结点的最大编号加1。这时是按()编号的。A.中序遍历序列B.前序遍历序列C.后序遍历序列D.层次顺序20.一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()A.所有的结点均无左孩子B.所有的结点均无右孩子C.只有一个叶子结点D.是任意一棵二叉树先序序列是“根左右”,后序序列是“左右根”,若要这两个序列相反,只有单支树,所以本题的A和B均对,单支树的特点是只有一个叶子结点,故C是最合适的,选C。A或B都不全21.对含有()个结点的非空二叉树,采用任何一种遍历方式,其结点访问序列均相同。A.0B.1C.2D.不存在这样的二叉树22.下面的说法中正确的是()(1)任何一棵二叉树的叶子结点在三种遍历中的相对次序不变;(2)按二叉树定义,具有三个结点的二叉树共有6种。A.(1)(2)B.(1)C.(2)D.(1).(2)都错23.以下说法错误的是()A.存在这样的二叉树,对它采用任何次序的遍历,其结点访问序列均相同B.二叉树是树的特殊情形C.由树转换成二叉树,根结点右子树总是空的D.在二叉树只有一棵子树的情况下也要明确指出该子树是左子树还是右子树24.以下说法正确的是()A.一般来说,若深度为k的n个结点的二叉树具有最小路径长度,那么从根结点到第k-1层具有最多的结点数为2k-1-1余下的n-2k-1+1个结点在第k层的任一位置上B.若有一个结点是某二叉树子树的先序遍历序列中的最后一个结点,则它必是该子树的后序遍历序列中的最后一个结点。C.若一个结点是某二叉树子树的前序遍历序列中的最后一个结点,则它必是该子树的中序遍历序列中的最后一个结点。25.以下说法正确的是()A.若一个树叶是某二叉树子树的前序遍历序列中的最后一个结点,则它必是该子树的后序遍历序列中的最后一个结点。B.若一个树叶是某二叉树子树的前序遍历序列中的最后一个结点,则它必是该子树的中序离历序列中的最后一个结点C.二叉树中,具有两个孩子的父结点,在中序遍历序列中,它的后继结点最多只能有一个孩子结点。D.在二叉树中,具有一个孩子结点,在中序遍历序列中,它没有后继孩子结点。26.以下说法错误的是()A.赫夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。B.若一个二叉树的树叶是某子树的中序遍历序列中的第一个结点,则它必是该子树的后序遍历序列中的第一个结点。C.已知二叉树的前序遍历和后序遍历序列并不能惟一地确定这棵树,因为不知道树的根结点是哪一个。D.在前序遍历二叉树的序列中,任何结点的子树的所有结点都是直接根在该结点的之后。27.以下说法正确的是()A.若一个树叶是某二叉树前序遍历序列中的最后一个结点,则它必是该子树后序遍历序列中的最后一个结点.B.若一个树叶是某二叉树前序遍历序列中的最后一个结点,则它必是该子树中序遍历序列中的最后一个结点.C.在二叉树中,具有两个子女的父结点,在中序遍历序列中,它的后继结点最多只能有一个子女结点.D.在二叉树中,具有一个子女的父结点,在中序遍历序列中,它没有后继子女结点28.二叉树先序遍历:EFHIGJK;中序遍历:HFIEJKG。该二叉树根的右子树的根是()A.EB.FC.GD.H29.已知某二叉树的后续遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是()A.acbedB.deabcC.decabD.cedba30.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,其后序遍历的结点访问顺序是()A.bdgcefhaB.gdbecfhaC.bdgechfaD.gdbehfca31.若二叉树采用二叉链表存储结构,要交换其所有分支结点左.右子树的位置,利用()遍历方法最合适。A.前序B.中序C.后序D.按层次32.已知一算术表达式的中缀形式为A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为()A.-A+B*C/DEB.-A+B*CD/EC.-+*ABC/DED.-+A*BC/DE33.算术表达式a+b*(c+d/e)转为后缀表达式后为()A.ab+cde/*B.abcde/+*+C.abcde/*++D.abcde*/++34.一棵左右子树均不空的二叉树在先序线索化后,其空指针域数为()A.0B.1C.2D.不确定二叉树先序遍历序列的第一个结点无前驱,但第一个结点为根结点,有左孩子,所以左指针域不为空。最后一个结点无后继,而且是叶子结点,无右孩子,所以仍为空。其余结点均有前驱和后继,所以不会为空。35.一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是()A.不确定B.0C.1D.2左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索为空(无后继),共2个空链域。36.若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为()A.X的双亲B.X的右子树中最左的结点C.X的左子树中最右结点D.X的左子树中最右叶结点37.引入二叉线索树的目的是()A.加快查找结点的前驱或后继的速度B.为了能在二叉树中方便的进行插入与删除C.为了能方便的找到双亲D.使二叉树的遍历结果唯一38.n个结点的线索二叉树上含有的线索数为()A.2nB.n-lC.n+lD.n线索二叉树是利用二叉树的空链域加上线索,n个结点的二叉树有n+1个空链域。39.讨论树.森林和二叉树的关系,目的是为了()A.借助二叉树上的运算方法去实现对树的一些运算B.将树.森林按二叉树的存储方式进行存储C.将树.森林转换成二叉树D.体现一种技巧,没有什么实际意义40.利用二叉链表存储树,则根结点的右指针是()A.指向最左孩子B.指向最右孩子C.空D.非空41.如果T2是由有序树T转换而来的二叉树,那么T中结点的后序就是T2中结点的()A.先序B.中序C.后序D.层次序42.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序.中序和后序三种遍历。我们把由树转化得到的二叉树称该树对应的二叉树,则下面()是正确的。A.树的先根遍历序列与其对应的二叉树先序遍历序列相同B.树的后根遍历序列与其对应的二叉树后序遍历序列相同C.树的先根遍历序列与其对应的二叉树中序遍历序列相同D.以上都不对43.以下说法正确的是()A.先根遍历树和先序遍历与该树对应的二叉树,其结果不同B.后根遍历树和先序遍历与该树对应的二叉树,其结果不同C.先序遍历森林和先序遍历与该森林对应的二叉树,其结果不同D.中序遍历森林和中序遍历与该森林对应的二叉树,其结果不同44.森林T中有4棵树,第一.二.三.四棵树的结点个数分别是n1,n2,n3,n4,那么当把森林T转换成一棵二叉树后,且根结点的左孩子上有()个结点。A.n1-1B.n1C.n1+n2+n3D.n2+n3+n445.设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是()A.m-nB.m-n-1C.n+1D.条件不足,无法确定46.设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有()个A.n-1B.nC.n+1D.n+247.以下说法错误的是()A.一般在哈夫曼树中,权值越大的叶子离根结点越近B.哈夫曼树中没有度数为1的分支结点C.若初始森林中共有N棵二树,最终求得的哈夫曼树中共有2N-1个结点D.若初始森林中共有N棵二叉树,进行2N-1次合并后才能剩下最终的哈夫曼树48.以下说法错误的是()A.一般在赫夫曼树中,权值越大的叶子离根结点越近B.赫夫曼树中没有度数为1的分支结点C.若初始森林中共有n棵二叉树,最终求得的赫夫曼树共有2n-1个结点D.若初始森林中共有n棵二叉树,进行2n-1次合并后才能剩下一棵最终的赫夫曼树49.设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有()个结点.A.13B.12C.26D.2550.若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()A.n-1B.n/m-1C.(n-1)/(m-1)D.n/(m-1)-1E.(n+1)/(m+1)-151.下述编码中哪一个不是前缀码()A.00,01,10,11B.0,1,00,11C.0,10,110,111D.1,01,000,001二、填空1.n(n1)个结点的各棵树中,其深度最小的那棵树的深度是_(
本文标题:数据结构第二单元练习题答案
链接地址:https://www.777doc.com/doc-2405983 .html