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

2018年中国矿业大学(徐州)计算机科学与技术学院874数据结构[专业硕士]考研强化五套模拟题

  摘要

一、填空题

1. 已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。

【答案】左子树;右子树

【解析】二叉排序树(binary sort tree)或者是一棵空树,或者是具有下列性质的二叉树:①若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

2. 二叉树由_____,_____,_____三个基本单元组成。

【答案】根结点;左子树;右子树

3. 执行顺序查找时,存储方式可以是_____,折半查找时,要求线性表_____,分块查找时要求线性表_____,而哈希表的查找,要求线性表的存储方式是_____。

【答案】顺序存储或链式存储;顺序存储且有序;块内顺序存储,块间有序;散列存储

4. 对单链表中元素按插入方法排序的C 语言描述算法如下,其中L 为链表头结点指针。请填充算法中标出的空白处,完成其功能。

:_____:

{_____)

(_____、

:_____;_____;p =u ;

【答案】(1)L﹣>next =NULL //置空链表,然后将原链表结点逐个插入到有序表中

(2)p!=NULL //当链表尚未到尾,p 为工作指针

(3)q!=NULL //查P 结点在链表中的插入位置,这时q 是工作指针

(4)p﹣>next =r ﹣>next //将P 结点链入链表中

(5)r﹣>next =p //r是q 的前驱,u 是下个待插入结点的指针

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

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

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

6. 下面程序的功能是用递归算法将一个整数按逆序存放到一个字符数组中。如123存放成321。请填空:

(_____i);

_____.

_____

【答案】a +l ;n%10

【解析】通过递归算法,首先找到最高位的值,将其放到str 对应的数组中,依次反向获取从高位到地位的值,将其放到数组中,完成了将整数逆序放到一个字符数组中。

7. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。

【答案】起泡;快速

【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为O(n),

2而快速排序算 法需要比较的次数达到最大,时间复杂度为O (n) 。

8. 有五个数据依次入找:1,2,3,4,5。在各种出栈的序列中,以3,4先出栈的序列有_____。(3在4之前出栈)

【答案】3个

【解析】以3,4先出栈的序列有34521、34215、34251共3个。

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

【答案】稳定

10.在一棵m 阶B-树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是_____; 若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字的个数是_____。 【答案】

【解析】m 阶B-树除根结点和叶子结点外,结点中关键字个数最多是m -1,最少

二、单项选择题

11.下列存储器中, 在工作期间需要周期性刷新的是( )。

A.SRAM

B.SDRAM

C.ROM

D.FLASH

【答案】B

【解析】动态随机存储器(DRAM)是利用存储元电路中栅极电容上的电荷来存储信息的, 电容

上的电荷一般只能维持, 因此即使电源不掉电, 信息也会自动消失。为此, 每隔一定时间必须刷新。

12.用海明码对长度为8位的数据进行检/纠错时, 若能纠正一位错, 则校验位数至少为( )

A.2

B.3

C.4

D.5

【答案】C

【解析】设校验位的位数为k , 数据位的位数为n , 根据海明码编码k 和n 应满足下述关系。

n=8, 当k=4时, , 符合要求, 校验位至少是4位, 故答案为C 。

13.下列选项中, 描述浮点数操作速度指标的是( )。

A.MIPS

B.CPI

C.IPC

D.MFLOPS

【答案】D

【解析】MFLOPS(Million Floating-point Operations per Second)表示每秒执行多少百万次浮点运算, 用来描述计算机的浮点运算速度, 适用于衡量处理机的性能。

MIPS(Million Instructions per Second) 表示每秒执行多少百万条指令。对于一个给定的程序, MIPS 定义为

这里所说的指令一般是指加、减运算这类短指令。