2016年北京科技大学计算机与通信工程学院546计算机综合之数据结构复试笔试最后押题五套卷
● 摘要
一、选择题
1. 对n 个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是( )。
A. 每次分区后,先处理较短的部分 B. 每次分区后,先处理较长的部分 C. 与算法每次分区后的处理顺序无关 D. 以上三者都不对 答:A
【解析】令递归函数为f ,第一次进行递归函数认为递归深度为1,以后从深度为n 的递归函数f 中再调用递归函数f ,此时深度为整个f 的最大深度为递归深度。
2. 若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结论是( )。
A. 存在,且唯一 B. 存在,且不唯一不唯一 C. 存在,可能不唯一 D. 无法确定是否存在 答:C 。
【解析】图的基本应用——拓扑排序,用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,说明该图为有向无环图,所以其拓扑序列存在,但不一定唯一,如图的邻接矩阵为则存在两个拓扑序列。
3. 设有数组数组的每个元素长度为3字节,i 的值为1到8,j 的值为1到10,数组从内存首地址BA 开始顺序存放,当用以列为主存放时,元素
答:B
【解析】在计算中,可以考虑按照列存放时,址。比如
顺序存放时,它是第
在内存的位置,比较容易计算元素的首地
个元素,由于首地址为BA ,
所以它的存储首地址为
的存储首地址为( )。
4. 线性表是具有n 个( )的有限序列(n >0)。
A. 表元素 B. 字符
C. 数据元素 D. 数据项E. 信息项 答:C
【解析】一个线性表是n 个数据元素的有限序列。至于每个数据元素的具体含义,在不同的情况下各不相同。
5. 输入序列为ABC ,可以变为CBA 时,经过的栈操作为( )。
答:B
【解析】根据输入序列和输出序列可知,输入序列全部进栈,然后再出栈。从中可以看出,push 的数目始终大于等于pop 的数目。
6. 在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是( )。
A. 可变分配,全局置换 B. 可变分配,局部置换 C. 固定分配,全局置换 D. 固定分配,局部置换 答:
【解析】分配和置换策略有下面三个组合:①固定分配、局部置换;②可变分配、全局置换;,或根据程序员、③可变分配、局部置换。固定分配是指基于进程的类型(交互型或批处理型等)
程序管理员的建议,为每个进程分配一定数目的物理块,在整个运行期间都不再改变,采用该策略时,如果进程在运行中发现缺页,则只能从该进程在内存的n 个页面中选出一个页换出,然后再调入一页,才能保证分配给该进程的内存空间不变,因此不能有固定分配,全局置换组合。
7. 在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是( )。
A. 直接插入排序 B. 起泡排序 C. 简单选择排序 D. 快速排序 答:A
【解析】当待排序列基本有序时,对冒泡排序来说,若最大关键字位于序列首部,则每趟排序仅能使其“下沉”一个位置,要使其下沉到底部仍需
趟排序,也即时间复杂度仍为
而对
简单选择排序来说,其比较次数与待排序列的初始状态无关;归并排序要求待排序列已经部分有序,而部分有序的含义是待排序列由若干有序的子序列组成,即每个子序列必须有序,并且其时;直接插入排序在待排序列基本有序时,每趟的比较次数大为降低,也即间复杂度为0(nlog2n )n-1趟,
比较的时间复杂度由
降至
8. 已知字符串S 为“abaabaabacacaabaabcc ”,模式串t 为“abaabc ”,采用KMP 算法进行匹配,第一次出现“失配” (
A.i=l,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=2
答:C
【解析】模式匹配(KMP )算法对普通的暴力匹配的改进在于:每当匹配过程中匹配失败时,主串(本题为S )的指针(i )不需要回溯,而是利用已经得到的“部分匹配”的结果将模式串(t )向右“滑动”尽可能远的一段距离后,继续进行比较。模式串“滑动”的距离是由模式串(t )本身决定的,即t 的子串
中前缀串和后缀串相等的最长长度。本题中第一次失配i=5, 字串为
“abaab”,其相等且最长的前后缀为“ab”,一次下一个j = 2。
9. 4个圆盘的Hanoi 塔,总的移动次数为( )。
A.7 B.-8 C.15 D.16 答:C
【解析】Hanoi 问题总移动次数为:次。
10.若对n 阶对称矩阵A 以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组
中,则在B 中确定
的位置k 的关系为( )。
,i=j = 5,则下次开始匹配时,i 和j 的值分别是( ))。
答:B
【解析】将n 阶对称矩阵存人一维数组中,一维数组的大小需为
中,当
时,i 与k 的关系为
对n 阶对称矩阵
A
以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组
二、填空题
11.已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。
答:左子树;右子树 【解析】二叉排序树
或者是一棵空树,或者是具有下列性质的二叉树:①若它
的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。