2018年武汉科技大学汽车与交通工程学院856数据结构(C语言版)考研强化五套模拟题
● 摘要
一、单项选择题
1. 排序算法的稳定性是指( )。
A. 经过排序之后,能使值相同的数据保持原顺序中的相对位置不变
B. 经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变
C. 算法的排序性能与被排序元素的数量关系不大
D. 算法的排序性能与被排序元素的数量关系密切
【答案】A
【解析】假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=tj,且ri 在ij 之前,而在排序后的序列中,ri 仍在rj 之前,则称这种排序算法是稳定的;否则称为不稳定的。
2. 某同步总线的时钟频率为100MHz , 宽度为32位, 地址/数据线复用, 每传输一个地址或数据占用一个时钟周期。若该总线支持突发(猝发) 传输方式, 则一次“主存写”总线事务传输128位数据所需要的时间至少是( )。
A.20ns
B.40ns
C.50ns
D.80ns
【答案】C 。
【解析】总线的时钟频率为100MHz , 则时钟周期为10ns 。数据是128位, 总线宽度是32位, 所以需要4个时钟周期, 而传输地址还需要一个周期, 所以传输一个128位的数据至少需要5个时钟周期, 所以至少需要。
3. 由3个“1”和5个“0”组成的8位二进制补码, 能表示的最小整数是( )。
A.-126
B.-125
C.-32
D.-3
【答案】B
【解析】能表示的最小整数一定是负数, 符号位占用1个“1”; 负数的补码和原码的转化是:原码符号位不变, 数值部分按位取反, 末位加“1”。
因此最小的整数的补码是“10000011”, 原码为“111111101”, 即
。
4. 用数组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 沿链移动。
5. 在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( )个。
A.4
B.5
C.6
D.7
【答案】C
【解析】设度为0的结点数为x ,则度为3的树总结点数n =度为0的结点数+度为1的结点数+度为2的结点数+度为3的结点数=x +2+l +2=x +5;从每个结点所指向的结点数的和的角度来计算度为3的树总结点数n =2×3+1×2+2×1+1=11。两种方法所计算出来的n 相等,所以x =6。
6. 设有两个串S1和S2,求S2在S1中首次出现的位置的运算称作( )。
A. 求子串
B. 判断是否相等
C. 模型匹配
D. 连接
【答案】C
【解析】常用的串的基本操作有七种,INDEX(s,t) 是其中的定位函数,这种运算就是所说的模式匹配。
7. 若一棵二叉树的前序遍历序列为a , e , b , d , c , 后序遍历序列为b , c , d , e , a , 则根结点的孩子结点( )。
A. 只有e
B. 有e 、b
C. 有e 、c
D. 无法确定
【答案】A 。
【解析】由题目可知, 若一棵二叉树的前序遍历序列为a , e , b , d , c , 后序遍历序列为b , c , d , e , a , 其中a 为这棵二叉树的根结点, 接下来, 在前序遍历的第二个结点为e , 而后序遍历的倒数第二个结点为e , 说明a 的孩子结点只有e 。
8. 系统为某进程分配了4个页框, 该进程已访问的页号序列为2, 0, 2, 9, 3, 4, 2, 8, 2, 3, 8, 4, 5, 若进程要访问的下一页的页号为7, 依据LRU 算法, 应淘汰页的页号是( )。
A.2
B.3
C.4
D.8
【答案】B
【解析】LRU 置换算法是选择最近最久未使用的页面予以淘汰。进程有4个页框, 题中访问过程中页框的变化如下:
访问页号为7的页时, 内存中存在的页的页号是:3、8、4和5, 根据LRU 定义应淘汰的是3。
9. 某计算机的Cache 共有16块,采用2路组相联映射方式(即每组2块). 每个主存块大小为32字节,按字节编址. 主存129号单元所在主存块应装入到的Cache 组号是( ).
A.0
B.2
C.4
D.6
【答案】C
【解析】首先根据主存地址计算所在的主存块号,然后根据组相联映射的映射关系K =ImodQ(K代表Cache 的组号,I 代表主存的块号,Q 代表Cache 的组数) 来计算Cache 的组号. 由于每个主存块大小为32字节,按字节编址,那么主存129号单元所在的主存块号是4,Cache 共有16块,采用2路组相联映射方式(即每组2块) ,故Cache 有8组,按照上面的公式可以计算得到Cache 的组号=4mod8=4.
10.若用一个大小为6的数组来实现循环队列,且当前rear 和front 的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear ,front 的值分别为多少?( )
A.1和5
B.2和4
C.4和2