2018年广东工业大学计算机学院829数据结构考研强化五套模拟题
● 摘要
一、单项选择题
1. 已知待排序的n 个元素可分为n/k个组,每个组包含k 个元素,且任一组内的各元素均分别大干前一组内的所有元素和小于后一组内的所有元素,若采用基于比较的排序,其时间下界应为( )。 A.
B.
C.
D.
【答案】B
【解析】因组与组之间己有序,故将n/k个组分别排序即可,基于比较的排序方法每组的时
,全部时间下界为间下界为
0 。
2. 在无噪声情况下,若某通信链路的带宽为3kHz ,采用4个相位,每个相位具有4种振幅的QAM 调制技术,则该通信链路的最大数据传输速率是( ).
A.12kbps
B.24kbps
C.48kbps
D.96kbps
【答案】B
【解析】首先要根据信道有无噪声来确定是否采用奈奎斯特定理. 解题难点在于离散数值的确定,先确定调制技术的码元数,此处为4个相位乘以4种振幅,共16种,即该通信链路的最大数据传输速率=2×3×log2(4×4) =6×4=24kbps.
3. 循环队列A[0..m﹣1]存放其元素值,用front 和rear 分别表示队头和队尾,则当前队列中的元素数是( )。
A.(rear﹣front +m)%m
B.rear ﹣front +1
C.rear ﹣front ﹣1
D.rear ﹣front
【答案】A
【解析】对于循环队列,需要深刻理解队头(font)和队尾(rear)的概念,在队头进行出队操作,在队尾进行进队操作。rear-front 可能为正也可能为负,为正时元素个数=(rear-front);如果为负则元素的个数=(rear-front+m),所以统一的公式就是(rear-front+m)%m。
4. 假设5个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3, 这些资源总数分别为18、6、22。时刻的资源分配情况如下表所示, 此时存在的一个安全序列是( )。
表 资源分配情况表
A.P0, P2, P4, P1, P3
B.P1, P0, P3, P4, P2
C.P2, P1, P0, P3, P4
D.P3, P4, P2, P1, P0P0
【答案】D 。
【解析】典型的死锁避免算法、银行家算法的应用。分析一下下表, 可以看到, P3, P4, P2, P1, P0运行是可以的。
表
本题也可以排除法, 时刻可用资源是R1, R2, R3分别为2, 3, 3, 此时刻, P0需要R1, R2, R3分别为2, 3, 7, 故排除A , P1需要R1, R2, R3分别为1, 3, 3, P2还需要资源R1, R2, R3分别为0, 0, 6, 故C 排除, P3需要R1, R2, R3分别为2, 2, 1。所以正确答案在B , D 之间。
看B 选项, P1之后的可用资源R1, R2, R3分别变为6, 3, 6, 而P0尚需资源2, 3, 7, 故B 方案行不通。因而最终答案只有D 项。
5. 假定编译器规定int 和short 类型长度分别为32位和16位, 执行下列C 语言语句:
;
A.00007FFAH
B.0000FFFAH
C.FFFF7FFAH
D.FFFFFFFAH
【答案】B 。
X 和y 均为无符号数, 其中X 为16位, y 为32位, 将16位无符号数转化成32位无符【解析】
:得到y 的机器数为( )。
号数, 前面要补零。因为X=65530=FFFAH, 所以y=0000FFFAH。
6. 静态链表中指针表示的是( )。
A. 下一元素的地址
B. 内存储器的地址
C. 下一元素在数组中的位置
D. 左链或右链指向的元素的地址
【答案】C
【解析】静态链表的一般结构为:struct static_list{ElemType data;int next;}
这种结构是预先分配一个较大的空间,类似于一次申请一个较大的数组,但是元素的增删操作都不会移动元素,只需要移动next 成员就行。因此,静态链表中的指针实际上表示的就是下一个元素在数组中的位置。
7. 有n(n>0) 个分支结点的满二叉树的深度是( )。
A.n 2﹣l
B.log 2(n+1) +1
C.log 2(n+1)
D.log 2(n—1)
【答案】C
【解析】满二叉树的结点总数=分支的结点总数+非分支的结点总数。由于此树为满二叉树,
所以非分支的结点总数为1,所以满二叉树共有n +1个结点,所以满二叉树的深度为log 2 (n+1) 。
8. 下列选项中, 会导致用户进程从态切换到内核的操作是( )
Ⅰ. 整数除以零
Ⅱ.sin ( )函数调用
Ⅲ.read 系统调用
A. 仅Ⅰ、Ⅱ
B. 仅Ⅰ、Ⅲ
C. 仅Ⅱ、Ⅲ
D. Ⅰ、Ⅱ和Ⅲ
【答案】B
【解析】对于Ⅰ, 系统发生异常, 需要进入内核态由操作系统进行处理, 而read 系统调用函数也是在内核态执行, sin ( )就是普通的用户函数, 在用户态执行, 故答案为C 。
9. 某计算机系统中有8台打印机,由K 个进程竞争使用,每个进程最多需要3台打印机. 该系统可能会发生死锁的K 最小值是( ).
A.2