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

2018年福建师范大学软件学院842软件工程专业基础综合之数据结构考研核心题库

  摘要

目录

2018年福建师范大学软件学院842软件工程专业基础综合之数据结构考研核心题库(一) ... 2 2018年福建师范大学软件学院842软件工程专业基础综合之数据结构考研核心题库(二) . 13 2018年福建师范大学软件学院842软件工程专业基础综合之数据结构考研核心题库(三) . 25 2018年福建师范大学软件学院842软件工程专业基础综合之数据结构考研核心题库(四) . 37 2018年福建师范大学软件学院842软件工程专业基础综合之数据结构考研核心题库(五) . 49

第 1 页,共 58 页

一、填空题

1. 以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。

h 为附加头结点指针

(_____)

_____;

【答案】(1)p!=NULL //链表未到尾就一直进行 (2)q //将当前结点作为头结点后的第一元素结点插入

2. 顺序存储结构是通过_____表示元素之间的关系的;链式存储结构是通过_____表示元素之间的关系的。

【答案】物理上相邻;指针

【解析】顺序存储结构是通过物理位置表示元素之间的关系的,链式存储结构通过指针表示元素之间的关系。

3. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。

【答案】f ﹣>next =p ﹣>next ;f ﹣>prior =p ;p ﹣>next ﹣>prior =f ;p ﹣>next =f ;

4. 属于不稳定排序的有_____。

【答案】希尔排序、简单选择排序、快速排序、堆排序等

5. 空格串是指_____,其长度等于_____。

【答案】由空格字符(ASCII值32) 所组成的字符串;空格个数

6. 对于一个具有n 个结点的单链表,在已知的结点半p 后插入一个新结点的时间. 复杂度为_____,在给定值为x 的结点后插入一个新结点的时间复杂度为_____。

【答案】O(1);O(n)

【解析】第一种情况只需直接修改指针的指向。第二种情况必须从头结点遍历找到x 的结点。

第 2 页,共 58 页

7. 下面描述的是一种构造最小生成树算法的基本思想。设要处理的无向图包括n 个顶点

用相邻矩阵A 表示,边的权全是正数。请在下列划线处填上正确叙述。

(1)若

是边,则

的值等于_____,若

不是边,则A(i, j) 的值是一个比任何

边的权_____,矩阵的对角线元素全为0。

(2)构造最小生成树过程中,若顶点已包括进生成树,就把相邻矩阵的对角线元素成_____,若

【答案】(1)

已包括进生成树,就把矩阵元素

置成_____。

(3)算法结束时,相邻矩阵中_____的元素指出最小生成树的_____。

边上的权值;都大的数;(2)1; 负值;(3)为负;边

8. 设有一个空枝,栈顶指针为1000H(十六进制) ,现有输入序列为1,2,3,4,5,经过PUSH ,PUSH ,POP ,PUSH ,POP ,PUSH ,PUSH 之后,输出序列是_____,而栈顶指针值是_____。设栈为顺序找,每个元素占4个字节。

【答案】23;100CH

9. 在图G 的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的_____; 对于有向图来说等于该顶点的_____。

【答案】度;出度

10.在哈希函数

中,p 值最好取_____。

【答案】小于等于表长的最大素数或不包含小于20的质因子的合数

【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。

11.用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是_____和_____;若只设尾指针,则出队和入队的时间复杂度分别是_____和_____。

【答案】O(1);O(n);O(1);O(1)

【解析】队列的出队操作即删除队头的元素,队列的入队操作即在队尾添加元素,循环链表只设头指针,出队时,只要把头结点的下一个结点删除就好了,入队时,要把新的结点插入队尾,必须把队列遍历,找到队尾指针,才能插入。循环队列只设尾指针,出队时只要把为指针的下一个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。

12.

给定一组数据WPL 的值为_____。

【答案】5;96

【解析】每次找两个最小的权值构建哈夫曼树:

第 3 页,共 58 页

以它构造一棵哈夫曼树,则树高为_____,带权路径长度

二、单项选择题

13.某系统正在执行三个进程P1、P2和P3, 各进程的计算(CPUCPUCPU)时间和如下表所示。

时间比例

为提高系统资源利用率, 合理的进程优先级设置应( ) A. B. C. D. 【答案】B

【解析】为了合理地设置进程优先级, 应该将进程的CPU 利用时间和

时间做综合考虑, 故

答案选B 。

14.浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤. 设浮点数的阶码

7

和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位). 若有两个数X =2×29/32,Y 5

=2×5/8,则用浮点加法计算X +Y 的最终结果是( ).

A.001111100010 B.001110100010 C.010000010001 D. 发生溢出

【答案】D

【解析】浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤,难点在对阶、规格化、判溢出这三步.X 和Y 的阶码不同,所以应该先对阶,对阶原则为:小阶向大阶看齐. 因此将Y 对阶后得到:Y =2×5/32,然后将尾数相加,得到尾数之和为:34/32.因为这是两

7

个同号数相加,尾数大于1,则需要右规,阶码加1. 由于阶码的位数为5位,且含两位符号位,即阶码的表示范围在之间. 而阶码本身等于7,再加1就等于8. 因此,最终结果发生溢出.

15.若用户1与用户2之间发送和接收电子邮件的过程如题40图所示, 则图中①、②、③阶段分别使用的应用层协议可以是( )。

第 4 页,共 58 页