2018年北京交通大学计算机与信息技术学院926软件工程理论与技术之数据结构考研基础五套测试题
● 摘要
一、判断题
1. 对大小均为n 的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找成功,它们的平均查找长度是相同的,而对于查找失败,它们的平均查找长度是不同的。( )
【答案】√
【解析】查找成功的情况下,顺序表和无序表的平均查找长度是相同的,对于查找失败,无序表需要查找到表尾,而顺序表不需要查到表尾就能确定,所以顺序表的查找长度小于无序表的查找长度。
2. 采用深度优先搜索或拓扑排序算法可以判断出一个有向图中是否有环(回路) 。
【答案】√
【解析】采用深度优先搜索算法主要是通过设置标志位可以判断出一个有向图中是否有环。采用拓扑排序算法,如果能够构成一个拓扑排序,则有向图中没有环,否则,有向图中有环。
3. 在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”。( )
【答案】√
【解析】堆排序:基本思想先将原始序列构造成一个堆(初始堆) ,使其n 个元素的最大(小) 值处于序列的第 —个位置;然后交换序列第一个元素与最后一个元素的位置。
4. 在链队列中,即使不设置尾指针也能进行入队操作。( )
【答案】 √
【解析】因为存在头指针,根据链表的性质,根据头指针可以找到为指针。
5. 哈希表的结点中只包含数据元素自身的信息,不包含任何指针。( )
【答案】×
【解析】哈希表的结点中可以包括指针,指向其元素。如哈希链表。
6. 用希尔(Shell)方法排序时,若关键字的初始排序杂乱无序,则排序效率就低。( )
【答案】×
【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。
二、单项选择题
7. 下列存储器中, 在工作期间需要周期性刷新的是( )。
A.SRAM
B.SDRAM
C.ROM
D.FLASH
【答案】B
【解析】动态随机存储器(DRAM)是利用存储元电路中栅极电容上的电荷来存储信息的, 电容
上的电荷一般只能维持, 因此即使电源不掉电, 信息也会自动消失。为此, 每隔一定时间必须刷新。
8. —个多道批处理系统中仅有P1和P2两个作业, P2比P1晚5ms 到达。它们的计算和作顺序如下:P1:计算60ms
, , 计算20ms ; P2:计算120ms
,
不考虑调度和切换时间, 则完成两个作业需要的时间最少是( )。
A.240ms
B.260ms
C.340ms
D.360ms
【答案】B 。
【解析】考查处理系统的性能计算, 由于P2比P1晚5ms 到达, P1先占用CPU , 根据P1和P2的执行过程, 作业运行的甘特图如下所示, 故答案为B 。
操, 计算40ms 若
图 甘特图
9. 有两个并发执行的进程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 。当然用信号量和P 、V 操作也是可以保证互斥操作, 达到数据同步的。
本例中, 由于没有采取保证数据同步的相应措施, 则最后结果就会出现差错。例如, 当正常情况下, 进程P1和P2先后对x 操作, 可以看到x 值的变化为初始
则x 值的变化为初始的过程, 若P2, P1先后操作, , 这是正确的。若考虑一种并发的情况, 进程P1和P2先后执行了取数load 的操作, 它们得到的x 值均为1, 运算后, P1和P2的x 值分别为2和0, 此时要看哪个进程后执行存数store 的操作了, 哪个进程后操作, 结果就是那个进程的x 值, 所以可能的结果为0或2, 加上前面正确的x 值1, 则可能的结果就有3种了。
10.设置当前工作目录的主要目的是( ).
A. 节省外存空间
B. 节省内存空间
C. 加快文件的检索速度
D. 加快文件的读/写速度
【答案】C
【解析】工作目录只是指出了当前操作的默认目录,使得在每次访问的时候不需要由根目录一层一层地解析,在文件路径比较长时,可以节省许多解析的时间,从而加快了文件的检索速度.
11.下列选项中,降低进程优先级的合理时机是( ).
A. 进程的时间片用完
B. 进程刚完成I/O,进入就绪队列
C. 进程长期处于就绪队列
D. 进程从就绪状态转为运行态
【答案】A
【解析】进程时间片用完可以降低其优先级,完成I/O的进程应该提升其优先级,处于就绪队列等待调度的进程一般不会改变其优先级. 进行这样的操作主要是为了改善交互式系统的响应时间,并均衡各个作业的公平性. 采用时间片轮转技术主要为改善交互式用户的感受,使其觉得是独享计算机(时间片轮转可以有效地防止计算繁忙型的进程独占计算机) ,时间片用完后降低其优先级是为了改善新进程的响应时间(新进程优先级较高,老进程降低优先级可以保证新进程具有优先权) ,对于刚进入就绪队列的新进程,往往在创建时已经根据其特点和要求确定好优先级,不会随意改变. 而对于从阻塞状态唤醒的进程,由于阻塞带来了较长时间的等待,一般会根据阻塞队列的不同适当地提高优先级,以改善用户响应时间.
相关内容
相关标签