当前位置:问答库>考研试题

2018年天津科技大学842自命题计算机学科专业基础综合之数据结构考研仿真模拟五套题

  摘要

一、单项选择题

1. 输入序列为ABC ,可以变为CBA 时,经过的栈操作为( )。

A.push ,pop ,push ,pop ,push ,pop

B.push ,push ,push ,pop ,pop ,pop

C.push ,push ,,pop ,pop ,push ,pop

D.push ,pop ,push ,push ,pop ,pop

【答案】B

【解析】根据输入序列和输出序列可知,输入序列全部进找,然后再出找。从中可以看出,push 的数目始终大于等于pop 的数目。

2. 下面关于哈希(Hash,杂凑) 查找的说法正确的是( )。

A. 哈希函数构造的越复杂越好,因为这样随机性好,冲突小

B. 除留余数法是所有哈希函数中最好的

C. 不存在特别好与坏的哈希函数,要视情况而定

D. 若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单地将该元素删去即可

【答案】C

【解析】若数据结构中存在关键字和K 值相等的记录,则必定在f(K)的存储位置上,由此,不需要进行比较便可直接取得所查记录。在此,称这个对应关系f 为哈希(Hash)函数,哈希函数的选择要视具体情况而定。

3. 下列选项中, 满足短任务优先且不会发生饥饿现象的调度算法是( )。

A. 先来先服务

B. 高响应比优先

C. 时间片轮转

D. 非抢占式短任务优先

【答案】B

【解析】分析该题目可以看到, 本题所提到的问题是涉及短任务调度也就是属于作业调度, 因此首先排除时间片轮转算法; 因为作业调度算法中没有时间片轮转的算法。其次, 因为问题提到短任务, 则先来先服务的算法也可以排除了, 它与短任务无关。剩余高响应比优先算法和非抢占式短任务优先是哪一个?我们可以通过分析得到, 非抢占式短任务优先算法不能解决饥饿问题, 因为当一个系统短任务源源不断到达是, 长任务必然会得不到调度, 产生饥饿。而解决此方法的最好方式

就是采用计算响应比的方法, 并以高响应比值优先调度。这样, 无论短任务或长任务, 均可以得到调度, 而且, 较短任务会得到优先的调度。故满足短任务优先且不会发生饥饿现象的调度算法只有高响应比优先算法。

4. 以下与数据的存储结构无关的术语是( )。

A. 循环队列

B. 链表

C. 哈希表

D. 栈

【答案】D

【解析】循环队列体现线性表是以顺序存储。用散列法存储的线性表称散列表。链表说明线性表是以链式结构存储的。栈不能体现出是顺序还是链式存储结构。

5. 若元素a , b , c , d , e , f 依次进栈, 允许进栈、退栈操作交替进行, 但不允许连续三次进行退栈操作, 则不可能得到的出栈序列是( )。

A.d , c , e , b , f , a

B.c , b , d , a , e , f

C.b , c , a , e , f , d

D.a , f , e , d , c , b

【答案】D

【解析】4个选项所给序列的进、出栈操作序列分别为:

选项A.

选项B.

选项C.

选项D.

按照题目要求, 不允许连续三次进行退栈操作, 所以选项D 所给序列为不可能得到的出栈顺序。

6. 某同步总线采用数据线和地址线复用方式。其中地址数据线有8根, 总线时钟频率为66MHZ , 每个时钟同期传送两次数据。(上升沿和下降沿各传送一次数据) 该总线的最大数据传输率是(总线带宽) :( )

A.132MB/S

B.264MB/S

C.528MB/S

D.1056MB/S

【答案】C

【解析】总线带宽=总线工作频率X(总线宽度/8), 由于地址线与数据线复用, 所以在两次数据传输过程中总线上数据一共传输了8次, 那么总线带宽为

, 所以选C

7. 栈和队的共同点是( )。

A. 都是先进后出

B. 都是后进先出

C. 只允许在端点处插入和删除元素

D. 没有共同点

【答案】C

【解析】栈和队列的区别是栈是先进后出的数据结构,队列是先进先出的数据结构,栈和队列的共同点是都只能在端点处插入和删除元素。

8. 在对n 个元素的序列进行排序时,堆排序所需要的附加存储空间是( )。 A.

B.O(1)

C.O(n) D.

【答案】B

【解析】堆排序需要一个空间用于交换,因此堆排序所需要的附加存储空间为O(1)。

9. 下列关于银行家算法的叙述中, 正确的是( )

A. 银行家算法可以预防死锁

B. 当系统处于安全状态时, 系统中一定无死锁进程

C. 当系统处于不安全状态时, 系统中一定会出现死锁进程

D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件

【答案】B

【解析】银行家算法是避免死锁的方法。利用银行家算法, 系统处于安全状态时没有死锁进程, 故答案选B 。

10.有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是( )。

A.543612

B.453126

C.346521

D.234156

【答案】C

【解析】根据栈的后进先出的特点,对于C 选项中前两个元素得出栈顺序可以看出,4在5和6前先出栈,又根据入栈顺序,4在5和6后入栈,因此4出栈时,5和6必定在栈内,且5在6之上,所以出栈时5要比6先出枝。