2018年西安电子科技大学软件学院902数据结构与C语言程序设计[专业硕士]之数据结构考研仿真模拟五套题
● 摘要
一、单项选择题
1. 下列有关RAM 和ROM 的叙述中, 正确的是( )。
Ⅰ.RAM 是易失性存储器, ROM 是非易失性存储器
Ⅱ.RAM 和ROM 都采用随机存取方式进行信息访问
Ⅲ.RAM 和ROM 都可用作Cache
Ⅳ.RAM 和ROM 都需要进行刷新
A. 仅Ⅰ和Ⅱ
B. 仅Ⅱ和Ⅲ
C. 仅Ⅰ、Ⅱ和Ⅳ
D. 仅Ⅱ、Ⅲ和Ⅳ
【答案】A
【解析】RAM 中的内容断电后即丢失(易失性) , ROM 中的内容断电后不会丢失(非易失性) , 同时RAM 和ROM 都采用随机存取方式(即CPU 对任何一个存储单元的存取时间相同) , 区别在于RAM 可读可写, ROM 只读不写。而ROM 显然不可用作Cache , 也不需要刷新, 所以Ⅲ和Ⅳ的叙述都是错误的。
2. 直接插入排序在最好情况下的时间复杂度为( )。 A.
B.O(n) C. 2D.O(n)
【答案】B
【解析】当序列是按照直接插入排序的顺序有序时,此时进行插入时,每次都只需要和末尾的一个元素进行比较,此时的时间复杂度最好,为O(n)。
3. 单级中断系统中, 中断服务程序内的执行顺序是( )。
Ⅰ保护现场; Ⅱ开中断; Ⅲ关中断; Ⅳ保存断点; Ⅴ中断事件处理; Ⅵ恢复现场; Ⅶ中断返回 A. B. C. D.
【答案】A
【解析】程序中断有单级中断和多级中断之分, 单级中断在CPU 执行中断服务程序的过程中
不能被打断, 即不允许中断嵌套。保存断点与关中断的任务是由硬件(中断隐指令) 完成的, 所以在单级中断系统中, 中断服务程序内应完成的任务有:
①保存现场; ②中断事件处理; ③恢复现场; ④开中断; ⑤中断返回。
4. 中断处理和子程序调用都需要压桟以保护现场, 中断处理一定会保存而子程序调用不需要保存其内容的是( )。
A. 程序计数器
B. 程序状态字寄存器
C. 通用数据寄存器
D. 通用地址寄存器
【答案】B 。
【解析】中断处理与子程序调用最大的区别是中断处理程序与正在运行的进程可能无关, 而子程序调用与正在运行的进程有关。中断是要打断处理器的正常工作次序, 并要求其去处理某一事件的一种常用手段。因此, 除了要保护当前程序的地址, 计数器(指针) 和数据寄存器以外, 还需要保存程序状态字。子程序调用是与当前进程有关, 是正在运行的程序有意安排执行的, 这一类调用发生的时间以及位置具有确定性, 处于同一个进程内, 因此不需要保存程序状态字。所以中断处理和子程序调用不同的区别是中断处理程序必定会保存程序状态字寄存器。
5. 已知两个长度分别为m 和n 的升序链表, 若将它们合并为一个长度为m+n的降序链表, 则最坏情况下的时间复杂度是( ) A. B. C. D.
【答案】D
m 和n 是两个升序链表长度分别为m 和n , 在合并过程中最坏的情况是两个链表中的【解析】
元素依次进行比较, 比较的次数是m 和n 中的最大值。
6. 下列选项中, 能缩短程序执行时间的措施是( )。
Ⅰ. 提高CPU 时钟频率
Ⅱ. 优化数据通路结构
Ⅲ. 对程序进行编译优化
A. 仅Ⅰ和Ⅱ
b. 仅Ⅰ和Ⅲ
c. 仅Ⅱ和Ⅲ
d. Ⅰ、Ⅱ和Ⅲ
【答案】D
【解析】一般说来, CPU 时钟频率(主频) 越高, CPU 的速度就越快; 优化数据通路结构, 可以有效提高计算机系统的吞吐量; 编译优化可得到更优的指令序列。所以Ⅰ、Ⅱ、Ⅲ都是有效措施。
7. 下列程常段的时间复杂度是( )
A.O()
B.O(n) C.O() D.O()
【答案】C
【解析】外部循环的退出条件是k>n, 而对于k , 每次循环都执行
内部循环的退出条件是j>n, 对于j , 每次循环都执行
) , 即选C 。 段的时间复杂度为O(
8. 静态链表中指针表示的是( )。
A. 下一元素的地址
B. 内存储器的地址
C. 下一元素在数组中的位置
D. 左链或右链指向的元素的地址
【答案】C
【解析】静态链表的一般结构为:struct static_list{ElemType data;int next;}
这种结构是预先分配一个较大的空间,类似于一次申请一个较大的数组,但是元素的增删操作都不会移动元素,只需要移动next 成员就行。因此,静态链表中的指针实际上表示的就是下一个元素在数组中的位置。
9. 对进行基数排序,一趟排序的结果是:( )
A. 05, 46, 13, 55, 94, 17, 42 B.
C. 42,13, 94,05, 55, 46,17
D. 05,13, 46,55,17,42,94
【答案】C
【解析】基数排序有两种:最低位优先和最高位优先。
①最低位优先的过程
先按最低位的值对记录进行排序,在此基础上,再按次低位进行排序,依此类推。由低位向高位,每趟都是 根据关键字的一位并在前一趟的基础上对所有记录进行排序,直至最高位,则完成了基数排序的整个过程。
②以r 为基数的最低位优先排序的过程
, 所以循环次数为; , 所以每次循环次数为n 次。所以此程序
相关内容
相关标签