2018年哈尔滨商业大学计算机与信息工程学院816数据结构考研强化五套模拟题
● 摘要
一、单项选择题
1. 假设某计算机的存储系统由Cache 和主存组成. 某程序执行过程中访存1000次,其中访问Cache 缺失(未命中)50次,则Cache 的命中率是( ).
A.5% B.
C.50%
D.95%
【答案】D
【解析】Cache 的命中率H =N 1(N1+N 2) ,其中N 1为访问Cache 的次数,N 2为访存主存的次数,程序总访存次数为N 1+N 2,程序访存次数减去失效次数就是访问Cache 的次数队. 所以根据公式可得:H =(1000﹣50) /100=95%.
2. 在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是( )。
A. 直接插入排序
B. 起泡排序
C. 简单选择排序
D. 快速排序
【答案】A
【解析】当待排序列基本有序时,对冒泡排序来说,若最大关键字位于序列首部,则每趟排序仅能使其“下沉”一个位置,要使其下沉到底部仍需n -1趟排序,也即时间复杂度仍为0(n2)。而对简单选择排序来说,其比较次数与待排序列的初始状态无关;归并排序要求待排序列已经部分有序,而部分有序的含义是待排序列由若干有序的子序列组成,即每个子序列必须有序,并且其时间复杂度为;直接插入排序在待排序列基本有序时,每趟的比较次数大为降低,也
2即n -1趟,比较的时间复杂度由O(n) 降至O(n)。
3. 本地用户通过键盘登录系统时,首先获得的键盘输入信息的程序是( ).
A. 命令解释程序
B. 中断处理程序
C. 系统调用服务程序
D. 用户登录程序
【答案】B
【解析】外部设备在与计算机连接时有多种方式,中断技术就是一种常用方式. 其工作原理是:利用处理机中断信号线,外部设备在需要服务的时候将该线设置为有效,计算机若同意接受中断则会停止当前进程的运行,转而服务发出中断的物理设备(注意与陷阱,即软中断有区别),那么对不同外部设备进行服务的程序代码是不同的,如何找到这些代码呢? 这就要借助中断向量,中断向量一般是由硬件根据中断的类型(不同外设不同)计算所得,或计算机系统在开机配置时所配置的. 处理机取得中断向量,其实就是一个物理地址,该地址下存放的是为此中断服务的代码的起始地址. 所以,当键盘按下的时候,键盘控制器获得该操作动作,先将键盘扫描码读入键盘缓冲区,再向处理机发出键盘中断,适当的时候(一条指令的末尾或一条原语结束)处理机会响应中断,调用指定服务程序将键盘缓冲区中的键盘扫描码输入到登录进程中去. 如此,最先响应键盘的必然是中断处理程序. 本题中,像命令解释器(例如cmd 窗口)、系统调用服务和用户登录程序都在中断处理程序后面.
4. 已知字符串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。
5. 数据序列(8,9,10,4,5,6,20,1,2) 只能是下列排序算法中的( )的两趟排序后的结果。
A. 选择排序
B. 起泡排序
C. 插入排序
D. 堆排序
【答案】C
【解析】选择排序、起泡排序和堆排序两趟排序后,在序列的某一端应该有序列的两个最大值或者最小值。
) 时, i=j=5, 则下次开始匹配时, i 和j 的值分别是( )。
6. 用数组r 存储静态链表,结点的next 域指向后继,工作指针j 指向链中结点,使j 沿链移动的操作为( )。
A.j =r[j].next
B.j =j +l
C.j =j ﹣>next
D.j =r[j]﹣>next
【答案】A
【解析】因为是用数组存储,这里所说的工作指针j 相当于数组的下标,结点是存储一个值域和next 域,next 域就是存放下一个结点的下表,所以只要将next 域中的值赋给j 就可以实现j 沿链移动。
7. 执行完下列语句段后,f 值为( )。
A.2
B.4
C.8
D. 无限递归
【答案】B
【解析】该程序使用了递归调用,由题知,:f(0)=2;f(l)=l*f(0)=2;f(2)=2*f(l)=4;所以结果为4。
8. 一棵二叉树高度为h ,所有结点的度或为0或为2,则这棵二叉树最少有( )个结点。
A.2h
B.2h ﹣1
C.2h +l
D.h +1
【答案】B
【解析】此树满足哈夫曼树,除根节点外每层有两个节点。
9. 已知一算术表达式的中缀表达式为a ﹣(b+c/d)*e,其后缀形式为( )。 A.
B.
C.
D.
【答案】D