北化工考研辅导班:2020年北京化工大学842数据结构考研考试样题.doc
第 1 页 共 8 页北京化工大学2XXX 年攻读硕士学位研究生入学考试数据结构 试题注意事项1. 答案必须写在答题纸上,写在试卷上均不给分。2. 答题时可不抄题,但必须写清题号。3. 答题必须用蓝、黑墨水笔或圆珠笔,用红色笔或铅笔均不给分。一、单项选择题:140 小题,每小题 2 分,共 80 分。下列每题给出的选项中,只有一个选项是最符合题目要求的。请在答题卡上将所选项的字母涂黑。1. 设 n 是描述问题规模的非负整数,下面程序片段的时间复杂度是x = 2;while (x n/2)x = 2*x;A. O(log2n) B. O(n) C. O(nlog2n) D. O(n2)2. 设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈S。若每个元素出栈后立即进入队列 Q,且 7 个元素出队的顺序是bdcfeag,则栈 S 的容量至少是 A. 1 B. 2 C. 3 D. 43. 若元素 a,b,c,d,e,f 依次进栈,允许进栈、退栈操作交替进行。但不允许连续三次进行退栈工作,则不可能得到的出栈序列是A:dcebfa B:cbdaef C:dbcaef D:afedcb4. 某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,则不可能得到的顺序是A:bacde B:dbace C:dbcae D:ecbad5. 元素 a, b, c, d, e 依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,第 2 页 共 8 页以元素 d 开头的序列个数是A. 3 B. 4 C. 5 D. 66. 已知循环队列存储在一维数组 A0.n-1中,且队列非空时front 和 rear 分别指向队头元素和队尾元素。若初始时队列为空,且要求第一个进入队列的元素存储在 A0处,则初始时 front 和rear 的值分别是A. 0, 0 B. 0, n-1 C. n-1, 0 D. n-1, n-17. 给定二叉树图所示。设 N 代表二叉树的根,L 代表根结点的左子树,R 代表根结点的右子树。若遍历后的结点序列为3,1 , 7,5, 6,2,4,则其遍历方式是ALRN B.NRL C.RLN D.RNL8. 下列二叉排序树中,满足平衡二叉树定义的是9. 已知一棵完全二叉树的第 6 层(设根为第 1 层)有 8 个叶结点,则完全二叉树的结点个数最多是 A39 B.52 C.111 D.119 10. 将森林转换为对应的二叉树,若在二叉树中,结点 u 是结点 v第 3 页 共 8 页的父结点的父结点,则在原来的森林中,u 和 v 可能具有的关系是I父子关系 II.兄弟关系 III. u 的父结点与 v 的父结点是兄弟关系 A.只有 II B.I 和 II C.I 和 III D.I、II和 III 11. 下列线索二叉树中(用虚线表示线索) ,符合后序线索树定义的是12. 在下列所示的平衡二叉树中插入关键字 48 后得到一棵新平衡二叉树,在新平衡二叉树中,关键字 37 所在结点的左、右子结点中保存的关键字分别是A:13,48 B:24,48 C:24 ,53 D: 24,9013. 在一棵度为 4 的树 T 中,若有 20 个度为 4 的结点,10 个度为3 的结点,1 个度为 2 的结点,10 个度为 1 的结点,则树 T 的叶节第 4 页 共 8 页点个数是A:41 B:82 C:113 D:12214. 对 n(n 大于等于 2)个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,错误的是A:该树一定是一棵完全二叉树 B:树中一定没有度为 1 的结点C:树中两个权值最小的结点一定是兄弟结点 D:树中任一非叶结点的权值一定不小于下一级任一结点的权值15. 若一棵完全二叉树有 768 个结点,则该二叉树中叶结点的个数是A. 257 B. 258 C. 384 D. 38516. 若一棵二叉树的前序遍历序列和后序遍历序列分别为 1, 2, 3, 4 和 4, 3, 2, 1,则该二叉树的中序遍历序列不会是A. 1, 2, 3, 4 B. 2, 3, 4, 1 C. 3, 2, 4, 1 D. 4, 3, 2, 117. 已知一棵有 2011 个结点的树,其叶结点个数为 116,该树对应的二叉树中无右孩子的结点个数是A. 115 B. 116 C. 1895 D. 189618. 对于下列关键字序列,不可能构成某二叉排序树中一条查找路径的序列是A. 95, 22, 91, 24, 94, 71 B. 92, 20, 91, 34, 88, 35C. 21, 89, 77, 29, 36, 38 D. 12, 25, 71, 68, 33, 3419. 下列关于无向连通图特性的叙述中,正确的是I所有顶点的度之和为偶数II.边数大于顶点个数减 1III.至少有一个顶点的度为 1 A.只有 I B. 只有 II C.I 和 II D.I 和 III第 5 页 共 8 页20. 若无向图 G-(V.E)中含 7 个顶点,则保证图 G 在任何情况下都是连通的,则需要的边数最少是A : 6 B:15 C:16 D:2121. 对下图进行拓扑排序,可以得到不同的拓扑序列的个数是A:4 B:3 C:2 D:122. 下列关于图的叙述中,正确的是. 回路是简单路径. 存储稀疏图,用邻接矩阵比邻接表更省空间. 若有向图中存在拓扑序列,则该图不存在回路A. 仅 B. 仅、 C. 仅 D. 仅、23. 下列叙述中,不符合 m 阶 B-树定义要求的是A. 根节点最多有 m 棵子树B. 所有叶结点都在同一层上 C. 各结点内关键字均升序或降序排列 D. 叶结点之间通过指针链接24. 已知一个长度为 16 的顺序表 L,其元素按关键字有序排列,若采用折半查找法查找一个不存在的元素,则比较次数最多是A:4 B:5 C:6 D:725. 为提高散列(Hash)表的查找效率,可以采取的正确措施是. 增大装填(载)因子. 设计冲突(碰撞)少的散列函数. 处理冲突(碰撞)时避免产生聚集(堆积)现象A. 仅 B. 仅 C. 仅、 D. 仅、26. 已知关键序列 5,8,12,19 ,28,20,15 ,22 是小根堆(最小堆) ,插入关键字 3,调整后得到的小根堆是 A. 3, 5,12,8 ,28 ,20,15,22 ,19 B. 3, 5,12,19,20,15,22,8,28 C. 3, 8,12,5 ,20 ,15,22,28 ,19 D. 3, 12,5,8 ,28 ,20,15,22 ,19 第 6 页 共 8 页27. 若数据元素序列 11,12,13,7,8,9 ,23 ,4,5 是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是 A起泡排序 B.插入排序 C.选择排序 D.二路归并排序28. 采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是A:递归次数与初始数据的排列次序无关B:每次划分后,先处理较长的分区可以减少递归次数C:每次划分后,先处理较短的分区可以减少递归次数D:递归次数与每次划分后得到的分区处理顺序无关29. 对一组数据(2,12,16 ,88,5,10)进行排序,若前三趟排序结果如下第一趟:2,12,16,5,10,88第二趟:2,12,5,10,16,88第三趟:2,5,10 ,12,16,88则采用的排序方法可能是:A:起泡排序 B:希尔排序 C:归并排序 D:基数排序30. 为实现快速排序算法,待排序序列宜采用的存储方式是A. 顺序存储 B. 散列存储 C. 链式存储 D. 索引存储31. 已知序列 25, 13, 10, 12, 9 是大根堆,在序列尾部插入新元素 18,将其再调整为大根堆,调整过程中元素之间进行的比较次数是A. 1 B. 2 C. 4 D. 532. 一个栈的入栈序列为 1 2 3 4,以下出栈序列不可能得到的是:A. 1 3 2 4 B. 2 3 4 1C. 4 3 1 2 D. 3 4 2 133. 若一个二叉树具有 10 个度为 2 的结点,则度为 0 的结点的个数为:A. 9 B. 10 C. 11 D. 不确定第 7 页 共 8 页34. 下列有关图遍历的说法中不正确的是:A连通图的深度优先搜索是一个递归过程。B图的广度优先搜索中邻接点的寻找具有“先进先出”的特征。C非连通图不能用深度优先搜索法。D图的遍历要求每一顶点仅被访问一次。35. 若已知待排序序列基本有序,则效率最高的排序方法是:A. 直接插入排序 B. 直接选择排序C. 快速排序 D. 归并排序36. 对一棵完全二叉树按层次遍历序进行递增编号,根结点编号为1,那么编号为 49 的结点的左子的编号是:A. 98 B. 99 C. 50 D. 4837. 下列序列中不符合堆的定义的是:A. a c d g h m p q r xB. a c m d h p x g o rC. a d p r c q x m h gD. a d c m p g h x r q38. 下列排序方法中,相同关键字元素的顺序不会被改变的排序方法是:A. 希尔排序法 B. 堆排序法C. 快速排序 D. 归并排序法39. 在有 n 个叶结点的哈夫曼树上,结点总数为:A. 2n B. 2n+1 C. 2n-1 D. 不确定40. 由 3 个结点可以构成多少种不同形态的二叉树:A. 4 B. 5 C. 6 D. 7二、综合应用题:4145 小题,共 70 分。请将答案写在答题纸指定位置上。41.(15 分) 已知两个单调递增 的整数序列,分别存放在数组 A 和 B中,序列长度分别为 na 和 nb,请编写算法,将两个序列归并成一个单调递减的序列,存放到目标数组 C 中。已知两个序列中无第 8 页 共 8 页相同的元素。参考算法代码形式如下:int Merge(int C,int A,int na,int B,int nb).42. (10 分)已知一组字符及其权值如下:a:29, b:17, c:9, d:22, e:66, f:21, g:15, h:5, i:11, j:19, k:30, l:18请构造相应的哈夫曼树,画出结果哈夫曼树即可。43. (15 分)已知带权有向图如下所示,请用 Floyd 算法计算该图中每两点间的最短路径及长度,写出计算过程和结果。102315 3920814 5444.(15 分)已知输入序列如下:7, 3, 5, 2, 4, 1, 10, 6, 8, 9请根据该输入序列创建平衡二叉树,写出创建过程及结果。45. (15 分)已知待排序序列如下:5, 3, 10, 7, 8, 6, 1, 12, 9, 4, 11, 2请写出用堆排序法对其进行升序排序的排序过程(依序写出每一趟交换的结果和调整的结果,不必写出调整的具体过程) 。