2017年上海海洋大学中国水产科学研究院(联合培养)919计算机基础综合之数据结构考研题库
● 摘要
一、填空题
1. 设广义表
则
是_____tail(L )是_____;L 的长度是_____;深度是_____。
;;2;2 【答案】( )(( ))
【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。
2. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。
【答案】 3. 中缀式运算结果为_____。
【答案】
【解析】中缀式相当于中序遍历,前缀式相当于前序遍历,后缀式相当于后序遍历。
4. 当广义表中的每个元素都是原子时,广义表便成了_____。
【答案】线性表
【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。
5. 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。
第 2 页,共 62 页
对应的前缀式为_____,若
则后缀式
的
【答案】
【解析】快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
6. 对单链表中元素按插入方法排序的C 语言描述算法如下,其中L 为链表头结点指针。请填充算法中标出的空白处,完成其功能。
置空链表,然后将原链表结点逐个插入到有序表中
当链表尚未到尾,p 为工作指针
查P 结点在链表中的插入位置,这时q 是工作指针
将P 结点链入链表中
是q 的前驱,u 是下个待插入结点的指针
【答案】(1)(2)(3)(4)(5)
7. 在基于关键字比较且时间为O (nl 〇g2n )的排序中,若要求排序是稳定的,则可选用_____,则可选用_____排序。 排序;若要求就地排序(及辅助空间为0(1))
【答案】归并;堆
8. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。
【答案】起泡;快速
,【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为〇(n )
第 3 页,共 62 页
而快速排序算法需要比较的次数达到最大,时间复杂度为
二、选择题
9. 下列选项中,导致创建新进程的操作是( )。
用户登录成功
设备分配
启动程序执行 A. 仅和B. 仅和C. 仅和D.
和
【答案】C
【解析】进程创建是需要填写PCB 表的,其中唯一不需要的是II 。考察一个进程创建的过程是这样的:当进程被创建,可以是用户创建,例如双击相关图标;也可以由父进程创建,例如lock ( )时,操作系统首先到PCB 表区搜索空闲的表格,若无则直接拒绝创建进程,若有则填,许多操写PCB 表创建进程。通常填写PCB 表的过程有一段时间(主要涉及资源分配需要协调),也有的操作系统不设这个中间状态。此时操作系作系统为此设立了一个中间状态称为“初始化”
统填写进程ID 号、处理机参数、进程参数(状态、特权、优先级)、分配内存(若是虚拟存储就分配虚拟地址)、映射文件等,一切就绪,将控制权交给系统进行下一步调度。设备分配可能引起进程状态的改变,但不会创建新进程,用户登录成功和启动程序执行都会创建新的进程,所以本题答案为C 。
10.当字符序列
A.4个 B.5个 C.3个 D.6个
图
【答案】C
【解析】首先需要明白C 语言标识符的命名规则。数字不能作为标识符的开头,因此第一个字符只能为t 或者下划线。若首字符为t , 有两种结果此总共有3种结果。
第 4 页,共 62 页
作为图输入时,输出长度为3的且可用作C 语言标识符的序列的有( )。
若首字符为则只有一种结果因