2018年北京工业大学计算机学院895计算机学科专业基础之数据结构考研核心题库
● 摘要
目录
2018年北京工业大学计算机学院895计算机学科专业基础之数据结构考研核心题库(一) ... 2 2018年北京工业大学计算机学院895计算机学科专业基础之数据结构考研核心题库(二) . 14 2018年北京工业大学计算机学院895计算机学科专业基础之数据结构考研核心题库(三) . 26 2018年北京工业大学计算机学院895计算机学科专业基础之数据结构考研核心题库(四) . 36 2018年北京工业大学计算机学院895计算机学科专业基础之数据结构考研核心题库(五) . 50
一、填空题
1. 设数组
数组中任一元素A[i,j]均占内存48个二进制位,从首地址2000开
始连续存放在主内存里,主内存字长为16位,那么
(1)存放该数组至少需要的单元数是_____;
(2)存放数组的第8列的所有元素至少需要的单元数_____; (3)数组按列存储时,元素A[5,8]的起始地址是_____。 【答案】270;27;2204
【解析】数组的元素个数为9*10=90,因为每个元素占内存48个二进制位,即6个字节。故总需要90*6=540个字节,因为主内存字长为16位,即2个字节,所以至少需要540/2=270个单元数。第8列有9个元素,共占9*6=54个字节,因此至少需要54/2=27个单元数。由题知,每个元素占3个单元。按列存储时,A[5,8]的起始地址为2000+[(8﹣1)*9+(5﹣0)]*3=2204。
2. 设二维数组A 的行和列的下标范围分别为[0:8]和[0:10],每个元素占2个单元,按行优先顺序存储,第一个元素的存储起始位置为b ,则存储位置为b+50处的元素为_____。
【答案】A[2][3]
【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是(ll*i+j +l ﹣l)*2+b 。当其值为b +50时,则i =2,j =3。
3.
【答案】5
4. VSAM 系统是由_____、_____、_____构成的。
【答案】索引集;顺序集;数据集
5. 如某二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_____。
【答案】69
【解析】二叉树叶结点数为20, 则度为2的结点数为19, 所以总的结点数为20+19+30=69。
6. n 个顶点的有向图用邻接矩阵array 表示,下面是其拓扑排序算法,试补充完整。
注:(1)图的顶点号从0开始计;
(2)indegree是有n 个分量的一维数组,放顶点的入度,
=_____
(3)函数crein 用于记算顶点入度; (4)有三个函数回1,否则0) 。
("图有回路") ;
【答案】
其含义为数据data 入栈,出栈和测试栈是否空(不空返
【解析】有向图用邻接矩阵表示时,顶点i 的入度等于第i 列的所有元素之和。拓扑排序过程:首先将入度为0的顶点全部进栈。然后弹出栈顶结点,并将与弹出的顶点相连的其它顶点的入度 减一,然后判断这些顶点的入度是否为零,如果为零,继续进栈,重复这些操作,完成拓扑排序。
7. 索引顺序文件既可以顺序存取,也可以 _____存取。
【答案】随机
8. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。
【答案】起泡;快速
【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为O(n),
2
而快速排序算 法需要比较的次数达到最大,时间复杂度为O (n) 。
9. 在一个无向图的的邻接表中,若表结点的个数是m ,则图中边的条数是_____条。
【答案】
【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。
10.一个字符串中_____称为该串的子串。
【答案】任意个连续的字符组成的子序列
11.高度为4的3阶B-树中,最多有_____个关键字。
【答案】26
【解析】第4层是叶结点,1层至3层每个结点两个关键字,每个节点的关键字达到最大时,关键字最多。
12.假定查找有序表
【答案】
表
平均查找次数为
。
中每个元素的概率相等,则进行折半查找时的平均查找长度为_____。
【解析】折半查找时每个的次数如表所示:
二、单项选择题
13.用海明码对长度为8位的数据进行检/纠错时, 若能纠正一位错, 则校验位数至少为( )
A.2 B.3 C.4 D.5
【答案】C
【解析】设校验位的位数为k , 数据位的位数为n , 根据海明码编码k 和n 应满足下述关系。
。
n=8, 当k=4时, , 符合要求, 校验位至少是4位, 故答案为C 。
14.下列选项中,操作系统提供的给应用程序的接口是( ).
A. 系统调用 B. 中断 C. 库函数 D. 原语 【答案】A
【解析】操作系统提供给用户应用程序的接口只有两种:命令输入和系统调用. 其中,命令输入又有不同的形式,例如常规的命令行、图形化人机交互接口(GUI)、自然命令用户接口(NUI)等,而系统调用中除了常规的一些传统的系统调用(例如read ( )) 以外,还有经过扩展的复杂调用(例如多种API) ,以及包含在Lib 库中的各种封装好的过程调用(最终都是通过系统调用陷入到操作系统中去的)等.
15.最大容量为n 的循环队列,队尾指针是rear ,队头:front ,则队空的条件是( )。
A.(rear+1)MODn=front
相关内容
相关标签