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

2017年吉林省培养单位长春光学精密机械与物理研究所866计算机原理之数据结构考研强化模拟题

  摘要

一、填空题

1. 栈是_____的线性表,其运算遵循_____的原则。

;后进先出 【答案】操作受限(或限定仅在表尾进行插入和删除操作)

2. 组成串的数据元素只能是_____。

【答案】字符

3. 检索是为了在文件中寻找满足一定条件的记录而设置的操作。检索可以按_____检索。也可以按_____检索;按_____检索又可以有_____检索和_____检索。

【答案】关键字;记录号;记录号;顺序;直接

4. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k=_____。(注:矩阵元素下标从1开始)

【答案】93

【解析】对于上三角矩阵

5. 当两个栈共享一存储区时,栈利用一维数组当栈1空时,

【答案】

为_____,栈2空时

代入得93。 表示,两栈顶指针为

则在B

为_____,栈满时为_____。

【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。

6. —棵有个结点的满二叉树有_____个度为1的结点、有_____个分支(非终端)结点和_____个叶子,该满二叉树的深度为_____。

【答案】

【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。

7. 设二维数组A 的行和列的下标范围分别为和每个元素占2个单元,按行优先顺序存储,第一个元素的存储起始位置为b ,则存储位置为

【答案】时,则i=2,j=3。

处的元素为_____。

当其值为

【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是

8. 完善算法:求KMP 算法.next 数组。

END ; 【答案】

9. 在哈希函数

中,P 值最好取_____。

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

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

10.阅读下列程序说明和裎序,填充程序中的_____。

【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示(编科略)本程序采用非递归的方法,设立一个堆栈交换左、右子树的算法为:

(1)把根结点放入堆栈。

(2)当堆栈不空时,取出栈顶元素,交换它的左、右子树,并把它的左、右子树分别入栈。(3)重复(2)直到堆栈为空时为止。

存放还没有转换过的结点,它的栈顶指针为

(1)

{(2)

If ( (3) )

}

}}

【答案】

【解析】本题主要使用堆栈完成了二叉树左右子树交换的操作。首先根结点进栈,然后判断栈足否为空,如果不为空,则取栈顶元素,交换取出节点的左右指针。并将左右指针分别进桟,重复这一操作。完成二叉树左右孩子的交换。

11.在一个无向图的的邻接表中,若表结点的个数是m , 则图中边的条数是_____条。

【答案】m/2

【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。

12.当广义表中的每个元素都是原子时,广义表便成了_____。

【答案】线性表

【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。

二、选择题

13.若元素a ,b , c, d, e,f 依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。

A.d ,c ,e ,b ,f ,a B.c ,b ,d ,a ,e ,f C.b ,c ,a ,e ,f ,d D.a ,f ,e ,d ,c ,b

【答案】D

【解析】4个选项所给序列的进、出栈操作序列分别为:

选项A.Push , Push , Push ,Push , Pop, Pop, Push,Pop , Pop, Push , Pop ,Pop 选项B.Push , Push , Push , Pop , Pop , Push, Pop, Pop, Push, Pop , Push, Pop 选项C.Push , Push , Pop , Push , Pop , Pop, Push, Push, Pop, Push , Pop , Pop 选项D.Push , Pop , Push, Push , Push , Push, Push, Pop, Pop,Pop , Pop , Pop

按照题目要求,不允许连续三次进行退栈操作,所以选项D 所给序列为不可能得到的出栈顺序。

14.向一个栈顶指针为h 的带头结点的链栈中插入指针S 所指的结点时,应执行( )。

【答案】D

【解析】本题是向一个链栈中插入结点,可从头结点后插入。先将s 结点指向第一个头结点之后的结点之前,再将头结点指向s 结点。

15.已知序列25, 13, 10, 12, 9是大根堆,在序列尾部插入新元素18, 将其再调整为大根堆,调整过程 中元素之间进行的比较次数是( )。

A.1 B.2 C.4 D.5

【答案】B

【解析】对堆插入或删除一个元素,有可能不满足堆的性质,堆被破坏,需要调整为新堆。 (1)为原堆,