2017年上海市培养单位上海生命科学研究院864程序设计之数据结构考研冲刺密押题
● 摘要
一、填空题
1.
给定一组数据
的值为_____。 【答案】5;96
【解析】每次找两个最小的权值构建哈夫曼树:
以它构造一棵哈夫曼树,则树高为_____,
带权路径长度
2. 组成串的数据元素只能是_____。
【答案】字符
3. 遍历图的过程实质上是_____,广度优先遍历图的时间复杂度_____; 深度优先遍历图的时间复杂度_____, 两者不同之处在于_____, 反映在数据结构上的差别是_____。
【答案】查找顶点的邻接点的过程;0(n+e); 0(n+e); 访问顶点的顺序不同;队列和栈 【解析】广度优先遍历图使用队列这种数据结构,深度优先遍历图使用栈这种数据结构。
4. 建立索引文件的目的是_____。
【答案】提高查找速度
5. 在n 个顶点的非空无向图中,最多有_____个连通分量。
【答案】n
【解析】当n 个顶点之间没有边,都是孤立的顶点时,有n 个连通分量。
6. 对于一个具有n 个结点的二叉树,当它为一棵_____二叉树时具有最小高度,当它为一棵_____ 时. 具有最大高度
【答案】完全;只有一个叶结点的二叉树
7. 已知如下程序段:
语句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。
8. 在单链表中设置头结点的作用是_____。
【答案】方便运算
9. 高度为h 的堆中,最多有_____元素,最少有_____个元素。
【答案】
当最后一层只有
【解析】当这个堆构成的是满二叉树时,元素的个数最多,
元素个数为
一个元素时,此时堆的元素个数最少,元素个数为
10.顺序存储结构是通过_____表示元素之间的关系的;链式存储结构是通过_____表示元素之间的关系的。
【答案】物理上相邻;指针
【解析】顺序存储结构是通过物理位置表示元素之间的关系的,链式存储结构通过指针表示元素之间的关系。
11.在一个无向图的的邻接表中,若表结点的个数是m , 则图中边的条数是_____条。
【答案】m/2
【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。
12.实现字符串拷贝的函数strcpy 为:
【答案】
二、选择题
13.若一个有向图具有拓扑排序序列,那么它的邻接矩阵必定为( )。
A. 对称矩阵 B. 稀疏矩阵 C. 三角矩阵 D. —般矩阵 【答案】C
【解析】在图论中,由一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为改图的一个拓扑排序:①每个顶点出现且出现一次;②若顶点在序列中排在顶点B 的前面,则在 图中不存在从顶点B 到顶点A 的路径。由拓扑排序的性质知,有向图的邻接矩阵必定为三角矩阵。
14.若一棵二叉树的前序遍历序列和后序遍历序列分别为1,2, 3, 4和4, 3, 2, 1,则该二叉树的中序遍历序列不会是( )。
A.1, 2.3.4 B.2,3, 4.1 C.3, 2, 4, 1 D.4, 3, 2, 1
【答案】C
【解析】题目中的二叉树的先序序列和后序序列正好相反,这样的二叉树每层只有一个结点。该二叉树的形态如下图所示。
从左至右,这8棵二叉树的中序序列分别为: (1)4. 3. 2. 1, (2)3, 4, 2, 1 (3)2, 4, 3, 1 (4)2, 3, 4,1 (5)1,4,3, 2 (6)1, 3, 4, 2 (7)1,2, 4, 3