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

2017年南京师范大学教育科学学院829数据结构考研仿真模拟题

  摘要

一、选择题

1. 设计一个判别表达式中左、右括号是否配对出现的算法,采用( )数据结构最佳。

A. 线性表的顺序存储结构

B. 队列

C. 线性表的链式存储结构

D. 栈

【答案】D

【解析】用栈更合适,如果是左括号,进找;如果是右括号,看栈顶是不是左括号,如果是,

则左括号出栈;否则不配对(可以直接结束算法)。处理完所有符号号,如果栈为空则配对成功。

2. 在下列表述中,正确的是( )

A. 含有一个或多个空格字符的串称为空格串

B.

对个顶点的网,求出权最小的条边便可构成其最小生成树

C. 选择排序算法是不稳定的

D. 平衡二叉树的左右子树的结点数之差的绝对值不超过1

【答案】C

【解析】平衡二叉树的左右子树的深度之差的绝对值不超过1。求最小生成树时,每次挑最小权值边,是要求该边的两点都在不同的连通分量上的。

3. 下列四个序列中,哪一个是堆( )?

A.75,65,30,15,25,45,20,10

B.75,65,45,10,30,25,20,15

C.75,45,65,30,15,25,20,10

D.75,45,65,10,25,30,20,15

【答案】C

【解析】堆的定义:

n 个关键字序列

称为堆,当且仅当该序列满足如下性质(简称为堆性质):

小根堆:满足第①种情况的堆;

大根堆:满足第②种情况的堆。

根据堆定义即可得出答案。

4. 对序

A.1

B.4

C.3

D.2

【答案】B 用希尔排序方法排序,经一趟后序列变

为则该次采用的增量是( )。

【解析】由所给的序列知,本序列要进行递增排序,经过一趟后15的位置没有变化,而给的序列中只有20比15大,20的位置和15的位置相差4。所以该次采用的増量是4。

5. 若一棵完全二叉树有768个结点,则该二叉树中叶结点的个数是( )。

A.257

B.258

C.384

D.385

【答案】C

【解析】由

_

则和

__可知

即显然

384, 所以二叉树的叶结点个数是384。还可以根据完全二叉树的另一个性质:最后一个分支结点的序号为[768/2], 故非叶子结点数为384, 而叶子结点的个数为768-384=384。([x]表示不大于x 的最大整数,比如[3.14] =3)。

6. 给定二叉树如下图所示。设N 代表二叉树的根,L 代表根结点的左子树,R 代表根结点的右子树,若遍历后的节点序列为3,1,7,5,6,2,4,则其遍历方式是( )

A.LRN

B.NRL

C.RLN

D.RNL

【答案】D

【解析】对“二叉树”而言,一般有三条搜索路径;

①先上后下的按层次遍历;

②先左(子树)后右(子树)的遍历;

③先右(子树)后左(子树)的遍历;

其中第1种路径的搜索方式就是常见的层次遍历,第2种搜索路径方式包括常见的NLR 、中

序遍历LNR 、后序遍历LRN , 第3种搜索路径方式则是不常使用的NRL 、RNL 、RLN 。本题考查的是第3种搜索路径方式的一种情况。根据遍历的序列以及树的结构图,可以分析出该遍历的顺序是先右子树再跟结点最后左子树,故答案为D 。

7. 对同一待排序列分别进行折半插入排序和直接插入排序, 两者之间可能的不同之处是( )。

A. 排序的总趟数

B. 元素的移动次数

C. 使用辅助空间的数量

D. 元素之间的比较次数

【答案】D 。

【解析】折半插入排序所需附加存储空间和直接插入排序相同,从时间上比较,折半插入排序仅减少了关键字间的比较次数,

而记录的移动次数不变。折半插入排序的时间复杂度仍为

所以两者之间的不同只可能是元素之间的比较次数。

8. 在文件的索引节点中存放直接索引指针10个,一级二级索引指针各1个,磁盘块大小为1KB 。每个索引指针占4个字节。若某个文件的索引节点已在内存中,到把该文件的偏移量(按字节编址)为1234和307400 处所在的磁盘块读入内存。需访问的磁盘块个数分别是( )。

A.1, 2

B.1, 3

C.2, 3

D.2, 4

【答案】B

【解析】文件的索引结点的直接索引指针有10个,因此直接索引的偏移量范围是

级索引的偏移量范围是

二级索引访问的偏移量范围是一

偏移量1234可以通过直接索引得到在磁盘块的地址,因此需要一次访问,307400需要通过二级索引查找其在磁盘的位置,需要分别访问存放二级索引的两个索引块以及对应的数据块。

9. 知一棵二叉树的前序遍历结果为ABCDEF ,中序遍历结果为CBAEDF ,则后序遍历结果为( )。

A.CBEFDA

B.FEDCBA

C.CBEDFA

D. 不定

【答案】A

【解析】由前序结果可知A 为根节点,再由中序遍历结果知BC 为A 的左孩子,且C 为B 的左孩子结点,到此可排除B 项,按照这种逻辑依次推理,便可得出结果对于该类型题目,可以先根据前序遍历结果和中序遍历结果画出二叉树,然后后序遍历二叉树得到后序遍历序列。