2017年云南大学软件学院842数据结构与程序设计考研仿真模拟题
● 摘要
一、填空题
1. —棵有个结点的满二叉树有_____个度为1的结点、有_____个分支(非终端)结点和_____个叶子,该满二叉树的深度为_____。 【答案】
或
【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。
2. 执行顺序查找时,存储方式可以是_____,折半查找时,要求线性表_____,分块查找时要求线性表_____,而哈希表的查找,要求线性表的存储方式是_____。
【答案】顺序存储或链式存储;顺序存储且有序;块内顺序存储,块间有序;散列存储
3. 关键码序列(Q ,H ,C ,Y ,Q ,A ,M ,S ,R ,D ,F ,X ),要按照关键码值递增的次序进行排序,若采用初始步长为4的希尔排序法,则一趟扫描的结果是_____; 若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是_____。
【答案】(Q ,A ,C ,S ,Q ,D ,F ,×,R ,H ,M ,Y ); (F ,H ,C ,D ,a ,A ,M ,Q ,R ,S ,Y ,X )
【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。
快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
4. 如果按关键码值递増的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】
【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺 序查找效率一样为
5. 设m 、n 均为自然数,m 可表示为一些不超过n 的自然数之和,f (m , n )为这种表示方式的
数目。例f (5, 3)=5,有5种表示方式:3+2, 3+1+1,2+2+1,2+1+1+1, 1+1+1+1+1。
①以下是该函数的程序段,请将未完成的部分填入,使之完整。
②执行程序,f (6,4)=_____。
【答案】①1; 1; f (m ,n -1); n ②9
6. 线性表
【答案】(n -1)/2
【解析】删除第一个元素需要移动n -i 次,以此类推,删除最后一个元素需要移动0次。平 均次数为
7. 假定有k 个关键字互为同义词,若用线性探测再哈希法把这k 个关键字存入哈希表中,至少要进行_____次探测。 【答案】
【解析】当该关键字发生冲突时,用线性探测不会遇到别的关键字冲突,这个时候需要探测 的次数最小。总次数为
8. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉 树。故结点个数为
9. VSAM 系统是由_____、_____、_____构成的。
【答案】索引集;顺序集;数据集
10.数据结构中评价算法的两个重要指标是_____。
【答案】算法的时间复杂度和空间复杂度
11.中缀式
运算结果为_____。 【答案】
【解析】中缀式相当于中序遍历,前缀式相当于前序遍历,后缀式相当于后序遍历。
12.一个算法具有5个特性:_____、_____、_____、有零个或多个输入、有一个或多个输出。
【答案】有穷性;确定性;可行性
用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是_____。 对应的前缀式为_____,若则后缀式的
13.假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k=_____。(注:矩阵元素下标从1开始)
【答案】93 在B
【解析】对于上三角矩阵
,将代入得93。
14.按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。
【答案】稳定
15.设T 和P 是两个给定的串,在T 中寻找等于P 的子串的过程称为_____,又称P 为_____。
【答案】模式匹配;模式串
二、判断题
16.若从二叉树的任一结点出发,到根的路径上所经过的结点序列按其关键字有序,则该二叉树一定是哈夫曼树。( )
【答案】×
【解析】在含有N 个带权叶子结点的二叉树中,其中带权路径长度最小的二叉树称为哈夫曼树,也叫做最优二叉树。关键字有序,可能叶子结点部分的关键字最大,根结点的关键字部分最小,此时就不是哈夫曼树。
17.两个长度不相同的串有可能相等。( ) 【答案】
【解析】两个字符串相等,只有当两个字符串的长度相等,并且各个对应位置的字符相等才相等。
18.平衡二叉树中,若某个结点的左、右孩子的平衡因子为零,则该结点的平衡因子一定是零。( )
【答案】×
【解析】平衡因子定义为该结点的左子树的深度减去右子树的深度,一个平衡二叉树中,某节点的左右孩子的平衡因子为0,说明左孩子的左子树和右子数的深度相同,而且右子树的左子树和右子数的深度相同,但这不能说明该节点的左子树和右子树的深度相同。
19.栈和队列都是限制存取点的线性结构。( ) 【答案】
20.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( ) 【答案】