2018年北京信息科技大学计算机学院814数据结构和C语言程序设计[专业硕士]之数据结构考研核心题库
● 摘要
一、填空题
1. 若用n 表示图中顶点数目,则有_____条边的无向图成为完全图。 【答案】
【解析】无向完全图中任意一个顶点都和其他n -1个顶点都有一条边,即为n(n-1) 。又因
. 。 为每条边重复出现两次,所有无向完全图的边数为
2. 在n 个顶点的非空无向图中,最多有_____个连通分量。
【答案】n
【解析】当n 个顶点之间没有边,都是孤立的顶点时,有n 个连通分量。
3. 已知链队列的头尾指针分别是f 和r ,则将值x 入队的操作序列是_____。
【答案】S =(LinkedList*)malloc(sizeof (LNode));s ﹣>data =x ;s ﹣>next =r ﹣>next ;r ﹣>next =s ;r =s ;
【解析】队列采用链式存储结构,先分配一个节点的内存,然后在队尾添加该节点。
4. 顺序存储结构是通过_____表示元素之间的关系的;链式存储结构是通过_____表示元素之间的关系的。
【答案】物理上相邻;指针
【解析】顺序存储结构是通过物理位置表示元素之间的关系的,链式存储结构通过指针表示元素之间的关系。
5. 设数组数组中任一元素A[i,j]均占内存48个二进制位,从首地址2000开始连续存放在主内存里,主内存字长为16位,那么
(1)存放该数组至少需要的单元数是_____;
(2)存放数组的第8列的所有元素至少需要的单元数_____;
(3)数组按列存储时,元素A[5,8]的起始地址是_____。
【答案】270;27;2204
【解析】数组的元素个数为9*10=90,因为每个元素占内存48个二进制位,即6个字节。故总需要90*6=540个字节,因为主内存字长为16位,即2个字节,所以至少需要540/2=270个单元数。第8列有9个元素,共占9*6=54个字节,因此至少需要54/2=27个单元数。由题知,每个元素占3个单元。按列存储时,A[5,8]的起始地址为2000+[(8﹣1)*9+(5﹣0)]*3=2204。
二、单项选择题
6. 若X 是二叉中序线索树中一个有左孩子的结点,且X 不为根,则X 的前驱为( )。
A.X 的双亲
B.X 的右子树中最左的结点
C.X 的左子树中最右的结点
D.X 的左子树中最右的叶结点
【答案】C
【解析】中序线索,只有把其左子树最右结点遍历完后,才会遍历自己,所以X 的前驱为X 的左子树中最右的结点。
7. 下列选项中, 不能改善磁盘设备
A. 重排请求次序
B. 在一个磁盘上设置多个分区
C. 预读和滞后写
D. 优化文件物理块的分布
【答案】B 。
【解析】
磁盘
的一个瓶颈。“重排性能主要是指其读写速度。相对而言,
磁盘的性能是计算机性能提高请求次序”可以优化磁臂调度的算法, 减少读写时间, 故正确; “预读和滞
性能, 性能的是( )。 后写”是利用内存作为磁盘的缓存, 使得对磁盘的访问变为对内存的访问, 也可以在总体上提高其性能; “优化文件物理块的分布”减少磁臂调度和旋转调度的等待时间, 也可以提高磁盘
而磁盘分区仅在磁盘空间的组织上进行划分, 对磁盘
盘设备性能的, 故答案为B 。
8. 下列选项中, 不可能是快速排序第2趟排序结果的是( )
A.2, 3, 5, 4, 6, 7, 9
B.2, 7, 5, 6, 4, 3, 9
C.3, 2, 5, 4, 7, 6, 9
D.4, 23, 5, 7, 6, 9
【答案】C
【解析】对于快速排序, 每一趟都会使一个元素位于有序时的位置, 而有序序列为2, 3, 4, 5, 6, 7, 9, 与C 进行对比, 只有9位于它有序的时候的位置, 显然不是第二趟快速排序的结果
9. 已知小根堆为8, 15, 10, 21, 34, 16, 12, 删除关键字8之后需重建堆, 在此过程中, 关键字之间的比较数是( )。
A.1
B.2
C.3
性能的提升没有什么帮助, 是不能改善磁
D.4
【答案】C
【解析】堆排序中, 依次输出堆顶的最小值, 然后重新调整堆, 如此反复执行, 便得到一个有序序列。本题中, 删除堆顶元素8后将最后一个元素12置于堆顶, 然后调整堆:首先与15比较, 12小于15, 所以不用交换; 然后与10比较, 因为10小于12, 所以交换10和12的位置; 调整后12再与16比较, 12小于16, 调整堆过程结束。因此12共与15、10、16进行了三次比较。
10.对于循环队列( )。
A. 无法判断队列是否为空
B. 无法判断队列是否为满
C. 队列不可能满
D. 以上说法都不是
【答案】D
【解析】循环队列也会出现队列满的情况,并且循环队列也可以判断是否为空或满。至少可以通过两种方法进行判断:①另设一个布尔变量来区别队列是空还是满;②队满时,
(rear+1)
font 。
11.现在有一颗无重复关键字的平衡二叉树(AVL 树) , 对其进行中序遍历可得到一个降序序列。下列关于该平衡二叉树的叙述中, 正确的是( )。
A. 根节点的度一定为2
B. 树中最小元素一定是叶节点
C. 最后插入的元素一定是叶节点
D. 树中最大元素一定是无左子树
【答案】D
【解析】二叉树的中序遍历定义是“若二叉树为空, 则空操作; 否则:
①中序遍历左子树; ②访问根节点; ③中序遍历右子树”。
A 项错误, 当树中仅有一个或者两个结点时, 根节点的度就可能不为2; B 项错误, 树中最小元素是中序遍历时最后访问的节点, 当没有右子树时, 最后访问的节点是根节点; C 项错误, 当最后插入的元素破坏树的平衡后, 树会进行调整, 使其成为中间节点; D 项正确, 由中序遍历的特点可知, 左子树的值大于根节点, 所以最大元素一定没有左子树。
12.在一个文件被用户进程首次打开的过程中, 操作系统需做的是( )
A. 将文件内容读到内存中
B. 将文件控制块读到内存中
C. 修改文件控制块中的读写权限
D. 将文件的数据缓冲区首指针返回给用户进程
相关内容
相关标签