2017年北京市培养单位国家空间科学中心863计算机学科综合(专业)之数据结构考研冲刺密押题
● 摘要
一、填空题
1. 执行顺序查找时,存储方式可以是_____,折半查找时,要求线性表_____,分块查找时要求线性表_____,而哈希表的查找,要求线性表的存储方式是_____。
【答案】顺序存储或链式存储;顺序存储且有序;块内顺序存储,块间有序;散列存储
2. 在哈希函数
中,P 值最好取_____。
【答案】小于等于表长的最大素数或不包含小于20的质因子的合数
【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。
3.
每一棵树都能唯一地转换为它所对应的二叉树。若已知一棵二叉树的前序序列是中序序列是前庁序列是_____。
【答案】
【解析】树的抑序序列对应二叉树的前序序列. 该二叉树转换成森林吋含三棵树. 其第一棵树的前序是。
4. 已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。
【答案】左子树;右子树 【解析】二叉排序树
或者是一棵空树,或者是具有下列性质的二叉树:①若它
的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。
5. 下面程序的功能是用递归算法将一个整数按逆序存放到一个字符数组中。如123存放成321。请填空:
第 2 页,共 59 页
.
,则它的后庁序列是_____。设上述二叉树是由某棵树转换而成,则该树的
【答案】
【解析】通过递归算法,首先找到最高位的值,将其放到str 对应的数组中,依次反向获取从高位到地位的值,将其放到数组中,完成了将整数逆序放到一个字符数组中。
6. 设有个结点的完全二叉树顺序存放在向量中,其下标值最大的分支结点为_____。
【答案】
【解析】最大的分支结点是最后一个叶子结点的父结点。
7. —个字符串中_____称为该串的子串。
【答案】任意个连续的字符组成的子序列
8. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。
【答案】起泡;快速
,【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为〇(n ) 而快速排序算法需要比较的次数达到最大,时间复杂度为
9. 线性表用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是_____。
【答案】(n -1)/2
【解析】删除第一个元素需要移动n -i 次,以此类推,删除最后一个元素需要移动0次。平 均次数为
10.设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。
【答案】
二、判断题
11.采用深度优先搜索或拓扑排序算法可以判断出一个有向图中是否有环(回路)。
【答案】√
【解析】采用深度优先搜索算法主要是通过设置标志位可以判断出一个有向图中是否有环。采用拓扑排序算法,如果能够构成一个拓扑排序,则有向图中没有环,否则,有向图中有环。
第 3 页,共 59 页
12.不同的求最小生成树的方法最后得到的生成树是相同的。( )
【答案】×
,生成树不同,每棵树的权也可能不同。若生【解析】对于一个带权连通无向图G=(V ,E )
成树T 上的所有边的权值之和最小,则T 称为G 的最小生成树。因此可以看出,最小生成树不是唯一的,最小生成树的权值之和总是唯一的。
13.3阶的B-树是平衡的3路搜索树。反之,一棵平衡的3路搜索树是3阶B-树。( )
【答案】×
【解析】3路搜索树并不具有3阶B-树的性质。因此一棵平衡的3路搜索树不一定是3阶B-树。
14.—个有向图的邻接表和逆邻接表中的结点个数一定相等。( )
【答案】×
【解析】图的邻接表表示法类似于树的孩子链表示法。对于图G 中的每个顶点V i ,该方法把所以邻接于顶点V i 的V j 链接成一个带头。在有向图中,为图中每个顶点V i 建立一个入边表的方法称为逆邻接表示法。
15.负载因子(装填因子)是哈希表的一个重要参数,它反映哈希表的装满程度。( )
【答案】√
【解析】查找过程中需和给定值进行比较的关键字的个数取决于三个因素:哈希函数,处理冲突的方法和哈希表的装填因子。其中装填因子标志哈希表的装满程度。
16.若从二叉树的任一结点出发,到根的路径上所经过的结点序列按其关键字有序,则该二叉树一定是哈夫曼树。( )
【答案】×
【解析】在含有N 个带权叶子结点的二叉树中,其中带权路径长度最小的二叉树称为哈夫曼树,也叫做最优二叉树。关键字有序,可能叶子结点部分的关键字最大,根结点的关键字部分最小,此时就不是哈夫曼树。
17.通常使用队列来处理函数或过程的调用。( )
【答案】
【解析】经常使用栈来处理函数或过程的调用。
18.程序一定是算法。( )
【答案】
【解析】一个程序不一定满足有穷性。而算法是对问题的解,用程序设计语言来实现来描述,这时算法就是一个程序。
第 4 页,共 59 页