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

2018年西北民族大学电气工程学院849计算机学科专业基础之数据结构考研基础五套测试题

  摘要

一、单项选择题

1. 对有2个顶点e 条边且使用邻接表存储的有向图进行广度优先遍历, 其算法时间复杂度是( )。

A. B. C. D. 【答案】C 。

【解析】遍历图的过程实质上是对每个顶点查找其邻接点的过程。其耗费的时间则取决于所采用的存储结构。当用二维数组表示邻接矩阵图的存储结构时,

查找每个顶点的邻接点所需时间为

, 其中n 为图中顶点数。而当以邻接表作图的存储结构时, 找邻接点所需时间为0(e), 其中e 为无向图中边的数或有向图中弧的数。由此, 当以邻接表作存储结构时, 深度优先搜索遍历图的时间复杂度为。即可得出正确答案。

2. 串的长度是指( )。

A. 串中所含不同字母的个数 B. 串中所含字符的个数 C. 串中所含不同字符的个数 D. 串中所含非空格字符的个数 【答案】B

【解析】串中字符的数目n 称为字符的长度,不必考虑其中单个字符是否相等。

3. 若元素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.

序。

4. 下列选项中会导致进程从执行态变为就绪态的事件是( )。

A. 执行P(wait)操作 B. 申请内存失败 C. 启动

设备

D. 被高优先级进程抢占 【答案】D

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

【解析】D 项, 被高优先级进程抢占, 进程会由执行态变为就绪态。ABC 三项, 程序由于缺少资源而由执行态转为阻塞态。

5. 有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) 。

6. 某计算机的指令流水线由4个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间) 分别为90ns 、80ns 、70ns 和60ns ,则该计算机的CPU 时钟周期至少是( ).

A.90ns B.80ns C.70ns D.60ns 【答案】A

【解析】对于各功能段执行时间不同的指令流水线,计算机的CPU 时钟周期应当以最长的功能段执行时间为准.

7. 某时刻进程的资源使用情况如下表所示

此时的安全序列是( )。 A.P1, P2, P3, P4 B.P1, P3, P2, P4 C.P1, P4, P3, P2 D. 不存在 【答案】D

【解析】典型的死锁避免算法, 银行家算法的应用。银行家算法是操作系统中的一个重点知识单元, 考生对此应该非常熟悉, 本题并无难点。分析一下下表, 可以看到, 经过P1, P4的运行以后, 可用资源是2, 2, 1, 而P2, P3所需资源分别是1, 3, 2和1, 3, 1。所以剩余资源已经不够P2或P3的 分配, 亦即找不到能够安全运行的序列, 因此此时是处于不安全状态, 所以不存在这样的安全序列。

8. 有两个并发执行的进程P1和P2, 共享初值为1的变量x 。P1对x 加1, P2对x 减1。加1和减1操作的指令序列分别如下所示。

两个操作完成后, 2的值( )。 A. 可能为-1或3 B. 只能为1 C. 可能为0、1或2 D. 可能为-1、0、1或2 【答案】C

【解析】这是在数据库中常有的操作。为保证数据的正确, 避免产生错误, 系统必须保证数据的同步。而保证数据的同步一般采取加锁的方法, 让进程P1和P2互斥访问共享变量X 。当然用信