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

2018年湘潭大学信息工程学院848数据结构(一)考研仿真模拟五套题

  摘要

一、填空题

1. 已知如下程序段:

语句1执行的时间复杂度为_____:语句2执行的时间复杂度为_____:语句3执行的时间复杂度为_____:语句4执行的时间复杂度为_____。

【答案】(1)n+1

(2)n

(3)n(n+3)/2

(4)n(n+l)/2

【解析】语s 句1执行到不符合条件情况下,执行了n +1次。当语句1不符合条件了是不会执行语句2的,所以语句2被执行了n 次。语句3每次都要执行到不符合条件,故为2+3+4...... +(n+l) 加起来就是n(n+3)/2。语句3不符合条件了是不会执行语句4的。所以语句4被执行了1+2+3...... +n 即n(n+l)/2。

2. 起始地址为480,大小为8的块,其伙伴块的起始地址是_____;若块大小为32, 则其伙伴块的起始地址为_____; 。

【答案】480+8=488,480-32=448

【解析】起始地址为P ,大小为的内存块,其伙伴块的起始地址计算公式如下:

根据上述公式起始地址就为488。

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

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

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

个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。

4. 在拓扑分类中,拓扑序列的最后一个顶点必定是_____的顶点。

【答案】出度为0

【解析】如果最后一个顶点的出度不为0, 则必定还有顶点存在,与题目所说的最后一个顶点矛盾,所有最后一个顶点的出度必定为零。

5. 在进行入栈运算时应先判别栈是否_____:在进行出栈运算时应先判别栈是否_____:当栈中元素为n 个,进行入栈运算时发生上溢,则说明该栈的最大容量为_____。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_____分别设在内存空间的两端,这样只有当_____时才产生溢出。

【答案】满;空;n ;栈底;两栈顶指针相邻(即值之差的绝对值为1)

6. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。

【答案】稳定

二、单项选择题

7. 可以用( )定义一个完整的数据结构。

A. 数据元素

B. 数据对象

C. 数据关系

D 抽象数据类型

【答案】D

【解析】抽象数据类型可以定义一个完整的数据结构。包括数据元素,数据元素之间的关系,以及可以进行的操作。

8. 希尔排序的组内排序采用的是( )。

A. 直接插入排序

B. 折半插入排序

C. 快速排序

D. 归并排序

【答案】A

【解析】希尔排序基本思想是:先将整个待排元素序列按某个增量分割成若干个子序列, 在子序列内进行直接插入排序, 然后依次缩减增量再进行排序, 待整个序列中的元素基本有序(增量足

够小) 时, 再对全体元素进行一次直接插入排序。

9. 以下说法错误的是( )。

(1)算法原地工作的含义是指不需要任何额外的辅助空间

(2)在相同的规模n 下,复杂度O(n)的算法在时间上总是优于复杂度O(2n ) 的算法

(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界

(4)同一个算法,实现语言的级别越高,执行效率就越低

A.(1)

B.(1), (2)

C.(1), (4)

D.(3)

【答案】A

【解析】算法原地工作的含义不是指不需要任何额外的辅助,而是算法所需要的辅助空间不随着问题的规模而变化,是一个确定的值。

10.主机甲与乙之间已建立一个TCP 连接, 双方持续有数据传输, 且无差错与丢失。若甲收到1个来自乙的TCP 段, 该段的序号为1913、确认序号为2046、有效载荷为100字节, 则甲立即发送给乙的TCP 段的序号和确认分别是( )

A.2046、2012

B.2046、2013

C.2047、2012

D.2047、2012

【答案】B

【解析】若甲收到1个来自乙的TCP 段, 该段的序号seq=1913、确认序号ack=2046、有效载荷为100字节, 则甲立即发送给乙的TCP 段的序

, 答案为B 。

11.对进行基数排序,一趟排序的结果是:( )

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

【解析】基数排序有两种:最低位优先和最高位优先。

①最低位优先的过程

先按最低位的值对记录进行排序,在此基础上,再按次低位进行排序,依此类推。由低位向高位,每趟都是 根据关键字的一位并在前一趟的基础上对所有记录进行排序,直至最高位,则完成了基数排序的整个过程。

和确认序