2017年上海应用技术学院计算机学院816数据结构与算法考研导师圈点必考题汇编
● 摘要
目录
2017年上海应用技术学院计算机学院816数据结构与算法考研导师圈点必考题汇编(一).... 2 2017年上海应用技术学院计算机学院816数据结构与算法考研导师圈点必考题汇编(二).. 15 2017年上海应用技术学院计算机学院816数据结构与算法考研导师圈点必考题汇编(三).. 29 2017年上海应用技术学院计算机学院816数据结构与算法考研导师圈点必考题汇编(四).. 44 2017年上海应用技术学院计算机学院816数据结构与算法考研导师圈点必考题汇编(五).. 58
第 1 页,共 70 页
一、填空题
1. 在哈希函数
中,P 值最好取_____。
【答案】小于等于表长的最大素数或不包含小于20的质因子的合数
【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。
2. 已知一循环队列的存储空间为其中队头和队尾指针分别为front 和rear , 则此循环队列判满的条件是( )
【答案】
3. 深度为H 的完全二叉树至少有_____个结点; 至多有_____个结点; H 和结点总数N 之间的关系是_____。
【答案】
4. 顺序栈用
【答案】
存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。
【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。
5. 设为哈夫曼树的叶结点数日,则该哈夫曼树共有_____个结点。
【答案】
【解析】哈夫曼树只有度为0和2的节点。 6. 设有一个10阶对称矩阵A 采用压缩存储方式(以行为主序存储:
【答案】33
【解析】设存储的元素的行标为i ,列标为j 。若则
则
的地址为
若
的地址为将代入得33。
7. 下面程序的功能是用递归算法将一个整数按逆序存放到一个字符数组中。如123存放成321。请填空:
第 2 页,共 70 页
,)则 的地址为_____。
【答案】
【解析】通过递归算法,首先找到最高位的值,将其放到str 对应的数组中,依次反向获取从高位到地位的值,将其放到数组中,完成了将整数逆序放到一个字符数组中。
8. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。
【答案】
9. 若用n 表示图中顶点数目,则有_____条边的无向图成为完全图。
【答案】n (n-l )/2
【解析】无向完全图中任意一个顶点都和其他n-1个顶点都有一条边,即为n (n-l )。又因为每条边重复出现两次,所有无向完全图的边数为n (n-l )/2。 10.A 是一个任意给定的整数。free_tree设T 是一棵结点值为整数的二叉排序树,在下面的算法中,(T )在对二叉排序树丁进行后序遍历时释放二又排序树T 的所有结点;
首
先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返否则返回根结点的地址。
【答案】
二、选择题
第 3 页,共 70 页
11.设栈S 和队列Q 的初始状态均为空,元素a , b , c ,d ,e , f ,g 依次进入栈S 。若每个元素出栈 后立即进入队列Q ,且7个元素出队的顺序是b ,d ,c ,f , e , a ,g ,则栈S 的容量至少是( )。
A.1 B.2 C.3 D.4
【答案】C
【解析】由于栈具有先进后出的特性,队列具有先进先出的特性,出队顺序即为人队顺序。在本题中,每个元素出栈S 后立即进入队列Q ,出栈顺序即为入队顺序,所以本题中队列的作用形同虚设,根据题意出队顺序即为出栈顺序。根据出栈顺序可以分析各个元素进出栈的过程:第一个出栈元素为b , 表明栈内还有元素a ,b 出栈前的深度为2; 第二个出栈元素为d ,栈内元素为a 和c ,d 出栈前的深度为3; c 出栈后,剩余元素为a ,c 出栈前的深度为2; f 出栈后,剩余元素为a 和e ,f 出栈前的深度为3; e 出栈后,剩余元素为a ,e 出栈前的深度为2; a 出栈后,无剩余元素,a 出栈前的深度为1; g 出栈后,无剩余元素,g 出栈前的深度为1。所以栈容量至少是3。
12.已知字符串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
,i=j = 5,则下次开始匹配时,i 和j 的值分别是( ))。
【解析】模式匹配(KMP )算法对普通的暴力匹配的改进在于:每当匹配过程中匹配失败时,主串(本题为S )的指针(i )不需要回溯,而是利用已经得到的“部分匹配”的结果将模式串(t )向右“滑动”尽可能远的一段距离后,继续进行比较。模式串“滑动”的距离是由模式串(t )本身决定的,即t
的子串
中前缀串和后缀串相等的最长长度。本题中第一次失配i=5, 字串为
“abaab”,其相等且最长的前后缀为“ab”,一次下一个j = 2。
13.用户程序发出磁盘I/O请求后,系统的正确处理流程是( )。
A. 用户程序—系统调用处理程序—中断处理程序—设备驱动程序 B. 用户程序—系统调用处理程序—设备驱动程序—中断处理程序 C. 用户程序—设备驱动程序—系统调用处理程序—中断处理程序 D. 用户程序—设备驱动程序—中断处理程序—系统调用处理程序 【答案】B
【解析】对于一次设备的调用,操作系统为用户准备了系统调用的接口,当用户使用设备时,首先在用户程 序中发起一次系统调用,操作系统的内核接到该调用请求后调用处理程序进行处理,根据调用格式和形参,再转到相应的设备驱动程序去处理;大部分设备在运行时是需要时间的,所以设备驱动程序会以中断方式驱动设备, 即设置好控制寄存器参数和中断向量等参数后阻
第 4 页,共 70 页