1、计算机专业基础综合数据结构(集合)历年真题试卷汇编 1 及答案与解析一、单项选择题1 下列二叉排序树中,满足平衡二叉树定义的是( )。【2009 年全国试题 4(2 分)】(A)(B)(C)(D)2 下列叙述中,不符合 m 阶 B 树定义要求的是( )。【2009 年全国试题 8(2 分)】(A)根结点最多有 m 棵子树(B)所有叶结点都在同一层上(C)各结点内关键字均升序或降序排列(D)叶结点之间通过指针链接3 在下图所示的平衡二叉树中,插入关键字 48舌得到一棵新平衡二叉树。在新平衡二叉树中,关键字 37 所在结点的左、右子结点中保存的关键字分别是( )。【2010 年全国试题 4(2 分
2、)】(A)13、48(B) 24、48(C) 24、53 (D)24、904 已知一个长度为 16 的顺序表 L,其元素按关键字有序排列。若采用折半查找法查找一个 L 中不存在的元素,则关键字的比较次数最多是 ( )。 2010 年全国试题9(2 分)】(A)4(B) 5(C) 6(D)75 对于下列关键字序列,不可能构成某二叉排序树中一条查找路径的序列是( )。【2011 年全国试题 7(2 分)】(A)95,22,91,24,94,71(B) 92,20,91,34,88,35(C) 21,89,77,29,36,38 (D)12,25,71,68,33,246 为提高散列(Hash)表的
3、查找效率,可以采取的正确措施是( )。 【2011 年全国试题 9(2 分) 】I增大装填(载)因子设计冲突(碰撞) 少的散列函数处理冲突(碰撞) 时避免产生聚集(堆积) 现象(A)仅 I(B)仅 (C)仅 I、(D)仅、7 若平衡二叉树的高度为 6,且所有非叶结点的平衡因子均为 1,则该平衡二叉树的结点总数为( ) 。【2012 年全国试题 4(2 分) 】(A)12(B) 20(C) 32(D)338 设有一棵 3 阶 B 树,如下图所示。删除关键字 78 得到一棵新 B 树,其最右叶结点所含的关键字是( ) 。2012 年全国试题 9(2 分)】(A)60(B) 60,62(C) 62,
4、65(D)659 若将关键字 1,2,3,4,5,6,7 依次插入到初始为空的平衡二叉树 T 中,则T 中平衡因子为 0 的分支结点的个数是( )。2013 年全国试题 3(2 分)】(A)0(B) 1(C) 2(D)310 在任意一棵非空二叉排序树 T1 中,删除某结点 v 之后形成二叉排序树 T2,再将v 插入 T2 形成二叉排序树 T3。下列关于 T1 与 T3 的叙述中,正确的是( )。【2013年全国试题 6(2 分) 】 I若 v 是 T1 的叶结点,则 T1 与 T3 不同 若 1,是 T1 的叶结点,则 T1 与 T3 相同 若 v 不是 T1 的叶结点,则 T1 与 T3 不
5、同 若 v 不是 T1 的叶结点,则 T1 与 T3 相同(A)仅 I、(B)仅 I、(C)仅 、(D)仅、11 在一棵高度为 2 的 5 阶 B 树中,所含关键字的个数最少是( )。2013 年全国试题 10(2 分) 】(A)5(B) 7(C) 8(D)1412 用哈希(散列) 方法处理冲突(碰撞) 时可能出现堆积(聚集)现象。下列选项中,会受堆积现象直接影响的是( )。【2014 年全国试题 8(2 分)】(A)存储效率(B)散列函数(C)装填 (装载)因子(D)平均查找长度13 在一棵具有 15 个关键字的 4 阶 B 树中,含关键字的结点数最多是( )。【2014年全国试题 9(2
6、分) 】(A)5(B) 6(C) 10(D)1514 现在有一棵无重复关键字的平衡二叉树(AVL 树 ),对其进行中序遍历可得到一个降序序列。下列关于该平衡二叉树的叙述中,正确的是( )。2015 年全国试题4(2 分)】(A)根结点的度一定为 2(B)树中最小元素一定是叶结点(C)最后插入的元素一定是叶结点(D)树中最大元素一定是无左子树15 下列选项中,不能构成折半查找中关键字比较序列的是( )。【2015 年全国试题 7(2 分) 】(A)500,200,450,180(B) 500,450,200,180(C) 180,500,200,450 (D)180,200,500,45016
7、若查找每个记录的概率均等,则在具有 n 个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度 ASL 为( )。【北京航空航天大学 2000 一、8(2 分)】【大连理工大学 2008 一、5(2 分) 】(A)(n-1)2(B) n2(C) (n+1)2(D)n17 对于顺序查找,假定查找成功与不成功的可能性相同,对每个记录的查找概率也相同,此时顺序查找的平均查找长度为( )。【华中科技大学 2006 一、10(2 分)】(A)05(n+1)(B) 025(n+1)(C) 05(n 一 1)(D)075(n+1)18 在一个有 N 个元素的有序单链表中查找具有给定关键字的结点,平
8、均情况下的时间复杂性为( ) 。【上海交通大学 2005 四、2(2 分)】(A)O(1)(B) O(N)(C) O(N2)(D)O(mogN)19 将两个各有 n 个元素的有序表归并成一个有序表,其最多的比较次数是:( )。【中国科学技术大学 1998 二、9(2 分)】(A)2n(B) n(C) 2n-120 查找 n 个元素的有序表时,最有效的查找方法是( )。【中国科学技术大学1997 一、1(1 分) 】【四川大学 2005】(A)顺序查找(B)分块查找(C)二分查找(D)二叉排序树二、填空题21 在各种查找方法中,平均查找长度与结点个数,z 无关的查找方法是_。【中南大学 2005
9、 二、5(2 分)】22 动态查找表和静态查找表的重要区别在于前者包含有_和_运算,而后者不包含这两种运算。【厦门大学 2001 一、3(145 分)】23 在等概率情况下,对具有 n 个元素的顺序表进行顺序查找,查找成功(即表中有关键字等于给定值 K 的记录)的平均查找长度为_:查找不成功(即表中无关键字等于给定值 K 的记录)的平均查找长度为_。【哈尔滨工业大学2005 一、3(1 分) 】24 顺序查找 n 个元素的顺序表,若查找成功,则比较关键字的次数最多为_次;当使用监视哨时,若查找失败,则比较关键字的次数为_。【华中理工大学 2000 一、8(2 分)】25 折半查找要求数据元素_
10、,存储方式采用_。【电子科技大学 2005 二、6(1 分) 】三、判断题26 如果数据元素保持有序,则检索时就可以采用二分检索方法。( )【兰州大学2001 一、9(1 分) 】(A)正确(B)错误27 折半查找与二元查找树的时间性能在最坏的情况下是相同的。( )【哈尔滨工业大学 2005 三、6(1 分) 】(A)正确(B)错误28 用向量和单链表表示的有序表均可使用折半查找方法来提高查找速度。( )【中科院软件所 1997 一、6(1 分)】(A)正确(B)错误29 有 n 个数存放在一维数组 A1n中,在进行顺序查找时,这 n 个数的排列有序或无序其平均查找长度不同。( )【北京邮电大
11、学 1998 一、6(2 分)】(A)正确(B)错误30 在索引顺序表中,实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块中元素个数有关。( )【上海交通大学 1998 一、17(1 分 )】(A)正确(B)错误31 适于对动态查找表进行高效率查找的组织结构是分块有序表。( )【北方交通大学 2003 三、2(2 分) 】(A)正确(B)错误32 对于满足折半查找和分块查找条件的文件而言,无论它存放在何种介质上,均能进行顺序查找、折半查找和分块查找。( )【北京师范大学 2005 三、4(5 分)】(A)正确(B)错误33 折半查找法的查找速度一定比顺序查找法
12、快。( )【山东大学 2001 一、8(1 分)】(A)正确(B)错误34 就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。( ) 【西安交通大学 1996 二、3(3 分)】(A)正确(B)错误35 对一棵二叉排序树按前序方法遍历得出的结点序列是从小到大的序列。( )【南京航空航天大学 1995 五、4(1 分)】(A)正确(B)错误计算机专业基础综合数据结构(集合)历年真题试卷汇编 1 答案与解析一、单项选择题1 【正确答案】 B2 【正确答案】 D【试题解析】 一棵 m 阶的 B 树的定义如下:或为空树,或为满足下列特性的 m叉树: (1)树中每个结点至多有 m 棵子树;
13、(2) 若根结点不是叶子结点,则至少有两棵子树; (3)除根结点之外的所有非终端结点至少有m2棵子树; (4) 所有的非终端结点中包含下列信息数据(n,P0,P 0,P 1,K 2,P 2,K n,P n),其中:Ki(i=1,n)为关键字,且 Kii+1(i=1,n 一 1),P i(i=0,n)为指向子树根结点的指针,且指针 Pi-1 所指子树中所有结点的关键字均小于 Ki(i=1,n),P n所指子树中所有结点的关键字均大于 Kn,n(m21nm 一 1)为关键字的个数; (5)所有叶子结点都出现在同一层次上,并且不带信息(可以看作是外部结点或查找失败的结点,实际上这些结点不存在,指向这
14、些结点的指针为空)。 据此,选择答案 D 不符合 B 树定义,D 描述的是 B+树,B+树的叶结点本身按照关键字的大小,自小而大顺序链接。3 【正确答案】 C【试题解析】 失去平衡的最小子树根结点是 24,需做 RL 型调整。4 【正确答案】 B【试题解析】 长度 16 的顺序表的判定树的高度为 5,用折半查找法查找失败时,最多比较 5 次。5 【正确答案】 A【试题解析】 二叉排序树的查找路径走一条从根结点到子孙结点的路径。答案 A的比较轨迹是:待查关键字小于 95,沿左分支到 22,又大于 22,沿 22 往右,到91,比 91 小,往左到 24,比 24 大,往右找到 94,这是不可能的
15、。因为 94,这能出现在 91 的左子树中。本题的详细分析和算法见五、34。6 【正确答案】 B【试题解析】 减小装填因子可以提高散列表的查找效率;处理冲突(碰撞)时可以减少,但不能“避免”产生聚集(堆积)现象,只有选择答案是正确的。选择 B。7 【正确答案】 B【试题解析】 设以 Nh 表示深度为 h 的平衡二叉树中含有的最少结点数。显然,N0=0, N1=1, N2=2,并且 Nh=Nh-1+Nh-2+1。即高为 h 的平衡二叉树的左子树高为h 一 1,右子树高为 h 一 2,左右子树都是含有最少结点数的平衡二叉树。这种树实际是 Fibonacci 树。8 【正确答案】 D【试题解析】 这
16、里只讨论在 B 树最下层非终点结点关键字的删除。(1)若删除后仍符合 B 树的定义,删除结束。(2)若删除后会破坏 B 树的定义,若左右兄弟结点的关键字数 nm2-1(m 是B 树的阶 ),则可以向左右兄弟结点借用。这里举个生活中的例子。兄弟分家过日子,自己度日困难,但兄弟富裕,想借钱又碍于面子,只好和父母借。父母给了儿子钱,同时叫富裕的儿子交了抚养费。聪明的父母既解决了问题,又照顾了子女的面子。本题,删除 78,破坏了 B 树的定义,父母 65 要了儿子 62,自己下到 78的结点处。(3)若左右兄弟都很困难,则父母会下来和其余子女艰难度日,对父母结点同样处理,最终会导致 B 树的高度降低。
17、9 【正确答案】 D【试题解析】 插入 1、2 和 3 后失衡,做 RR 型调整。继续输入 4 和 5,失衡的最小子树的根结点是 2,做 RR 型调整。继续输入 6 和 7,失衡的最小子树的根结点是 5,做 RR 型调整。最后的结果是高度为 3 的满二叉树,中序遍历得到 1 到 7 的升序序列。10 【正确答案】 C【试题解析】 在二叉排序树上插入的结点肯定是叶子,删除叶子马上再插入不会引起二叉排序树的变化。删除分支结点会调整以保持二叉排序树的树形,再插入该结点是按叶子结点插入,形成的二叉排序树肯定与从前不同了。11 【正确答案】 A【试题解析】 根结点一个关键字,两棵子树各有两个关键字的 5
18、 阶 B 树含有最少5 个关键字,所以选择答案 A。应该指出,多数教科书对 B 树的叶子结点的定义是:“所有叶子结点都出现在同一层次上,并且不带信息”,B 树的高度包括叶子这一层。如按这个定义,高度为 2 的 5 阶 B 树最少一个关键字,选择答案中无此选择项。本题 B 树高度未包括叶子层,下面涉及 B 树高度时我们都包括叶子这一层。12 【正确答案】 D13 【正确答案】 D【试题解析】 4 阶 B 树每个结点最少 1 个关键字(2 棵子树),最多 3 个关键字(4棵子树)。在关键字数确定的情况下,每个结点含有的关键字越少,所需结点数就越多。结点只含 1 个关键字的 B 树可以看成是满二叉树
19、,因此本题等价于“1 5 个关键字的满二叉树的结点数”。14 【正确答案】 D【试题解析】 题目说对无重复关键字的平衡二叉树“进行中序遍历可得到一个降序序列”,可以知道根结点的值大于左子树上所有结点的值,并且小于右子树上所有结点的值。中序遍历的第一个结点是二叉树最左面的(叶子或无左子女的“根”)结点,所以应选择答案 D。我们还可以用排除法。若结点个数小于 3,则根结点的度是 1 不是 2,所以 A 错。中序遍历的最后一个元素是最小元素,它可以是最右面的叶子结点,也可以是没有右子女的“根”结点,所以 B 错。最后插入的元素先是按叶子结点插入,但是插入后可能导致平衡二叉树失衡,经过调整最后插入的结
20、点不再是叶子,所以 C 错。15 【正确答案】 A【试题解析】 A 中待查关键字小于 500,大于下个待查找的是 200,接着找到450,但比 450 小,最后查找到 180。这是不可能的,因为刚才查找 200 时,待查找关键字大干 200。16 【正确答案】 C17 【正确答案】 D18 【正确答案】 B19 【正确答案】 C20 【正确答案】 C【试题解析】 有序表是静态查找表,采用二分查找,二又排序树是动态查找表。二、填空题21 【正确答案】 哈希查找22 【正确答案】 插入,删除23 【正确答案】 (n+1) 2,n+124 【正确答案】 n,n+125 【正确答案】 有序,顺序存储三
21、、判断题26 【正确答案】 B【试题解析】 二分检索要求顺序存储的有序表。27 【正确答案】 B【试题解析】 折半查找属于静态查找表,其判定树(设有 n(n1)个元素)是确定的,查找长度不超过判定树的深度(与相等元素个数的完全二叉树的深度相同)。二元查找树属于动态查找表,查找长度取决于树的形状,最差情况下是单支树。28 【正确答案】 B【试题解析】 单链表不能使用折半查找方法。29 【正确答案】 B【试题解析】 在等概率查找的情况下,对于查找成功,它们的平均查找长度是相同的,而对于查找失败,它们的平均查找长度是不同的。30 【正确答案】 A31 【正确答案】 B【试题解析】 二叉排序树、平衡二叉树、B 树、键树属于动态查找表,分块有序表属于静态查找表。32 【正确答案】 B【试题解析】 磁带存储介质就只能顺序查找。33 【正确答案】 B34 【正确答案】 B35 【正确答案】 B
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1