2018年北京市培养单位信息工程研究所863计算机学科综合(专业)之数据结构考研基础五套测试题
● 摘要
一、填空题
1. 如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】
【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺序查找效率一样为。
2. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。
【答案】稳定
3. 串是一种特殊的线性表,_____;其特殊性表现在_____;串的两种最基本的存储方式是_____、两个串相等的充分必要条件是_____。
【答案】其数据元素都是字符;顺序存储;链式存储;串的长度相等且两串中对应位置的字符也相等
4. 属于不稳定排序的有_____。
【答案】希尔排序、简单选择排序、快速排序、堆排序等
5. 二叉树的前序序列和中序序列相同的条件是_____。
【答案】空树或任何结点至多只有右子树的二叉树
【解析】前序遍历的顺序为根左右,中序遍历的顺序为左根右,因此若中序遍历和前序遍历序列相同,则任何结点都没有左子树。
6. —个有2001个结点的完全二叉树的高度是_____。
【答案】11
【解析】完全二叉树的高度
7. 当广义表中的每个元素都是原子时,广义表便成了_____。
【答案】线性表
【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广
义表变成了线性表。
8. 阅读下列程序说明和程序,填充程序中的_____。
【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示。
本程序采用非递归的方法,设立一个堆栈stack 存放还没有转换过的结点,它的栈顶指针为tp 。交换左、右子树的算法为:
(1)把根结点放入堆栈。
(2)当堆栈不空时,取出栈顶元素,交换它的左、右子树,并把它的左、右子树分别入栈。
(3)重复(2)直到堆栈为空时为止。
【答案】
【解析】本题主要使用堆栈完成了二叉树左右子树交换的操作。首先根结点进栈,然后判断栈是否为空,如果不为空,则取栈顶元素,交换取出结点的左右指针。并将左右指针分别进栈,重复这一操作。完成二叉树左右孩子的交换。
9. 在一个无向图的的邻接表中,若表结点的个数是m ,则图中边的条数是_____条。 【答案】
【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。
10.在图G 的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的_____; 对于有向图来说等于该顶点的_____。
【答案】度;出度
二、判断题
11.串是一种数据对象和操作都特殊的线性表。( )
【答案】 √
【解析】串是一种操作特殊的线性表,其特殊性主要体现在数据元素是一个字符。在内存中,一份文本都可以看做是一个字符串,而每一行都可以看做是其子串。
12.哈希函数越复杂越好,因为这样随机性好,冲突概率小。( )
【答案】×
【解析】随机性好和冲突概率小跟哈希函数的复杂程度无关,是根据具体情况而定的,跟实际的数据有很大关系。
13.串长度是指串中不同字符的个数。( )
【答案】 ×
【解析】不是,串长度是指串中字符的总个数。需要注意的是,在计算字符串的长度时,不要漏掉了空格。
14.对磁带机而言,ISAM 是一种方便的文件组织方法。( )
【答案】×
【解析】ISAM 是一种专为磁盘存取设计的文件组织方式。
15.如果完全二叉树从根结点开始按层次遍历的输序列为1,2,3,4,5,6,7,则该完全二叉树是二叉排序树。( )
【答案】×
【解析】不是,2,3作为1的左右孩子,由于左节点2比1大,所以不具有二叉排序树的性质。
16.一般来说,若深度为k 的n 个结点的二叉树只有最小路径长度,那么从根结点到第k ﹣1层具有的最多结点数为余下的
【答案】 √
【解析】求最小路径长度,即构成哈夫曼树,当哈夫曼树为k ﹣1层全满时,此时从根结点到第k ﹣1层具有最大的结点数为
17.十字链表是无向图的一种存储结构。( )
【答案】×
【解析】十字链表是有向图的另一种链式存储结构。在十字链表中,对应于有向图的每条弧有一个结点,对应于每个顶点也有一个结点。类似于邻接表是无向图的一种链式存储结构。
18.AOE 网一定是有向无环图。( )
【答案】×
【解析】在带权的有向图中,以顶点表示事件,有向边表示活动,边上的权值表示完成该活动的开销,则称这种有向图表示活动的网络,简称为AOE 网。因此对AOE 网是否是有向无环图没有要求。
个结点在第k 层的任一位置上。( )