《(全)2024数据结构考试内部题库含答案解析.docx》由会员分享,可在线阅读,更多相关《(全)2024数据结构考试内部题库含答案解析.docx(15页珍藏版)》请在第壹文秘上搜索。
1、数据结构考试内部题库含答案解析(全考点)1、若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用存储方式最节省运算时间。 A:单链表 B:仅有头指针的单循环链表 C:双链表 D:仅有尾指针的单循环链表解析选项A、单链表插入最后一个元素需要遍历链表到最后一个元素。选项B、仅有头指针,删除第一个元素方便,但是末尾插入一个元素同选项A。选项C、双链表,方便来回遍历但是末尾插入一个元素依旧需要遍历整个链表。选项D、最节约运算时间。答案:D2、设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列存储方式最节省运算时间。A:单向链表.B:单向循环链表 C:双向链表.D
2、:双向循环链表解析某链表中最常用的操作是在链表的尾部插入或删除元素时双向循环列表最节省运算时间。答案:D3、在含有n个结点的二叉排序树中查找某个关键字的结点时,最多进行()次比较。.A:n/2.cg2(n+1) D:n解析当输入序列是一个有序序列时,构造的二叉排序树是一个单支树,当查找一个不存在的关键字值或最后一个结点的关键字值时,需要n次比较。答案:D4、含有20个结点的平衡二叉树的最大深度为()。.A:4.B:5.C:6.D:7解析平衡二叉树结点数的递推公式为r20=,71I=I,2=2,=1+h1+h2(h为平衡二叉树高度,”为构造此高度的平衡二叉树所需的最少结点数)o通过递推公式可得,
3、构造5层平衡二叉树至少需要12个结点,构造6层至少需要20个结点。答案:C5、具有5层结点的AVL至少有()个结点。 A:10 B:12 C:15 D:17解析设”表示高度为h的平衡二叉树中含有的最少结点数厕有叽I?桃,+由此求出。=12,对应的AVL如下图所示。答案:B6、下列关于红黑树的说法中,不正确的是()0A:一棵含有n个结点的红黑树的高度至多为2Iog2(n+1)B:如果一个结点是红色的,则它的父结点和孩子结点都是黑色的-C:从一个结点到其子孙结点的所有路径上包含相同数量的黑结点.D:红黑树的查询效率一般要优于含有相同结点数的AVL树解析选项A、B和C都是红黑树的性质。AVL是高度平
4、衡的二叉直找树,红黑树是适度平衡的二叉查找树,从这一点可以看出AVL的查找效率往往更优。答案:D7、下列关于红黑树和AVL树的描述中,不正确的是()0.A:两者都属于自平彳瓮的二叉树.B:两者查找、插入、删除的时间复杂度都相同 C:红黑树插入和删除过程至多有2次旋转操作 D:红黑树的任一结点的左右子树高度之差不超过2倍解析自平衡的二叉排序树是指在插入和删除时能自动调整以保持其所定义的平衡性,红黑树和AVL都属于自平衡二叉树,A正确。在红黑树中删除结点时,情况1可能变为情况2、3或4,情况2会变为情况3,可能会出现旋转次数超过2次的情况,故C错误。答案:C8、下列关于红黑树的说法中,正确的是()
5、0 A:红黑树是一种特殊的平衡二叉树 B:如果红黑树的所有结点都是黑色的,那么它一定是一棵满二叉树 C:红黑树的任何一个分支结点都有两个非空孩子结点 D:红黑树的子树也一定是红黑树解析答案:B9、将关键字1,2,3,4,5,6,7一次插入初始为空的红黑树T,则T中红结点的个数是()。 A:1 B:2 C:3解析关键字1,2,3,4,5,6,7一次插入红黑树后的形态变化如下图所示:答案:C10、将关键字5,4,3,2,1一次插入初始为空的红黑树T,则T的最终形态是()。解析关键字5,4,3,2,1一次插入红黑树后的形态变化如下:答案:D1、由n个数据元素组成的两介表:一个递增有序,一个无序。采用
6、顺序查找算法,对有序表从头开始直找,发现当前元素已不小于待查元素时,停止查找,确定查找不成功,已知查找任一元素的概率是相同的,则在两种表中成功查找()。 A:平均时间后者小 B:平均时间两者相同 C:平均时间前者小 D:无法确定解析对于顺序查找,不管线性表是有序的还是无序的,成功查找一个元素的比较次数为1,成功查找第二个元素的比较次数为2,以此类推,即每个元素查找成功的比较次数只与其位置有关(与是否有序无关),因此查找成功的平均时间两者相同。答案:B2、在有11个元素的有序表Al,211中进行折半直找I(low+high)/2I2fe444上T(LV),查找元素All时,被比较的元素依次是()
7、。 A:6,8,10,11 B:6z9,10z11 C:6,7,9,11 D:6z8,9,11解析依据折半查找的思想,第一次mid二L(i + )2j=6 ,第二次 mid 二(l + 6) + ll2j二9 ,第三次mid =(l + 9) + ll2j二10 第四次 mid = llo答案:B3、已知一个长度为16的顺序表其元素按关键字有序排列,若采用折半查找算法查找一个不存在的元素,则比较的次数至少是(),至多是()。.A:4B:5.C:6解析画出查找过程中构成的判定树,让最小的分支高度对应于最少的比较次数,让最大的分支高度对应于最多的比较次数,出现类似于长度为15的顺序表时,判定树刚好
8、是一棵满树,此时最多比较次数与最少比较次数相等。答案:A,B4、具有12个关键字的有序表中,对每个关键字的查找概率相同,折半查找算法查找成功的平均查找长度为(),折半查找查找失败的平均查找长度为()。 A:37/12 B:35/12 C:39/13 D:49/13解析假设有序表中元素为A0.11,不难画出对它进行折半查找的判定树如下图所示,圆圈是查找成功结点,方形是虚构的查找失败结点。从而可以求出查找成功的ASL=(1+22+34+45)/12=37/12,查找失败的ASL=(33+4*10)/13=49/13。答案:A,D5、对有2500个记录的索引顺序表(分块表)进行查找,最理想的块长为(
9、)。.A:50.B:125.C:500,dJ2500解析设块长为b,索引表包含n/b项,索引表的ASL=(nb+l)2,块内的ASL=(b+l)2,纵ASL=索引表的ASL+块内的ASL=(bnb2)/2,其中对于b+n/b,由均值不等式知b=nb时有最小值,此时b =O则最理想块长为2500 sn= 5Uo答案:A6、设顺序存储的某线性表共有123个元素,按分块查找的要求等分为3块,若对索引表采用顺序查找法来确定子块,且在确定的子块中也采用顺序查找法,则在等概率情况下,分块查找成功的平均查找长度为()。.A:21.B:23.C:41.D:62解析b+1根据公式ASL=Zz2+s=2+frac
10、s+l)2s+1s2+2s+n2=2s,其中b=ns,s=1233,n=123代入不难得出ASL为23.故选Bo答案:B7、为提高查找效率,对有65025个元素的有序顺序表建立索引顺序结构,在最好情况下查找到表中已有元素最多需要执行()次关键字比较。A:10 C:16 D:21解析为使蛰找效率最高,每个索引块的大小应是VUUU40=255,为每个块建立索引,则索引表中索引项的个数为255o若对索引项和索引块内部都采用折半查找,则查找效率最高,为|7og2(255+1)J+Rog2(255+1)答案:C8、在有n(n1000)个元素的升序数组A中查找关键字X,直找算法的伪代码如下所示。k=0;while(kn且Akx)k=k+3;if(kn且Ak=x)查找成功;elseif(k-l且Ak-l=x)查找成功;elseif(k-2next=p;p-next=s; B:s-next=p-next;p-next=s;.C:s-next=p-next;p=s; D:p-next=s;s-ext=p;解析先要将S节点的next指向P之后的节点(s-next=p-11ext),然后将P节点的next指向Up-ext=s)0答案:B