2017年云南大学软件学院842数据结构与程序设计考研题库
● 摘要
一、填空题
1. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉 树。故结点个数为
2. 在进行入栈运算时应先判别栈是否_____:在进行出栈运算时应先判别栈是否_____:当栈中元素为n 个,进行入栈运算时发生上溢,则说明该栈的最大容量为_____。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_____分别设在内存空间的两端,这样只有当_____时才产生溢出。
【答案】满;空;n ; 栈底;两栈顶指针相邻(即值之差的绝对值为1)
3. 当广义表中的每个元素都是原子时,广义表便成了_____。
【答案】线性表
【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。
4. 无用单元是指_____,例_____
【答案】用户不再使用而系统没有回收的结构和变量;
5. 下面描述的是一种构造最小生成树算法的基本思想。设要处理的无向图包括n
个顶点
用相邻矩阵A 表示,边的权全是正数。请在下列划线处填上正确叙述。
(1)若
是边,则
的值等于_____,若
不是边,则
的值是一个比任
何边的权,矩阵的对角线元素全为0。
(2)构造最小生成树过程中,若顶点Vi 已包括进生成树,就把相邻矩阵的对角线元素A (i , i )置成若
【答案】(1)
已包括进生成树,就把矩阵元素A (i ,j )置成 边上的权值;都大的数;(2)1; 负值;(3)为负;边
(3)算法结束时,相邻矩阵中。
6. 求图的最小生成树有两种算法,_____算法适合于求稀疏图的最小生成树e
【答案】克鲁斯卡尔
【解析】克鲁斯卡尔算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法,这种算法中,采用堆来存放边的集合,适合于边稀疏而顶点较多的图。
7. 检索是为了在文件中寻找满足一定条件的记录而设置的操作。检索可以按_____检索。也可以按_____检索;按_____检索又可以有_____检索和_____检索。
【答案】关键字;记录号;记录号;顺序;直接
8. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k=_____。(注:矩阵元素下标从1开始)
【答案】93
【解析】对于上三角矩阵,
9. 设二维数组A 的行和列的下标范围分别为
【答案】
当其值为
将和
代入得93。
每个元素占2个单元,按行优先顺处的元素为_____。
在B
序存储,第一个元素的存储起始位置为b ,则存储位置为
【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是
时,则i=2,j=3。
10.用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是_____和_____;若只设尾指针,则出队和入队的时间复杂度分别是_____和_____。
【答案】
【解析】队列的出队操作即删除队头的元素,队列的入队操作即在队尾添加元素,循环链表只设头指针,出队时,只要把头结点的下一个结点删除就好了,入队时,要把新的结点插入队尾,必须把队列遍历,找到队尾指针,才能插入。循环队列只设尾指针,出队时只要把为指针的下一个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。
11.—个字符串中_____称为该串的子串。
【答案】任意个连续的字符组成的子序列
12.设广义表
则
是_____tail(L )是_____;L 的长度是_____;深度是_____。
;;2;2 【答案】( )(( ))
【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。
13.二叉树由_____,_____,_____三个基本单元组成。
【答案】根结点;左子树;右子树
14.已知链队列的头尾指针分别是f 和r , 则将值x 入队的操作序列是_____。
【答案】
【解析】队列采用链式存储结构,先分配一个节点的内存,然后在队尾添加该节点。
15.N 个顶点的连通图用邻接矩阵表示时,该矩阵至少有_____个非零元素。
【答案】2(N-1)
【解析】所谓连通图一定指的是无向图,有向图会称作强连通图。连接N 个顶点,至少需要N-1条边就可 以了。由于无向图的每一条边同时关联了两个顶点。因此用邻接矩阵表示时,该矩阵至少有2(N-1)个非零元素。
二、判断题
16.深度为k 的二叉树中结点总数小于等于
【答案】√
【解析】深度为K 的二叉树,当结点数最多时为满二叉树,此时结点数为
17.在平衡二又树中,向某个平衡因子不为零的结点的树中插入一新结点,必引起平衡旋转。( )
【答案】×
【解析】不一定,比如一个平衡因子为1的结点,这时往它的右部插入一个新结点,就不会引起平衡旋转
18.强连通分量是无向图的极大强连通子图。( )
【答案】×
【解析】强连通分量是对有向图而言的,一般在无向图中讨论连通性。
19.拓扑排序的有向图中,最多存在一条环路。( )
【答案】×
【解析】要进行拓扑排序,需要满足一个条件为:若顶点A 在序列中排在顶点B 的前面,则在图中不存在 顶点B 到顶点A 的路径。如果是一个有环图,则不能满足这个条件, 所以拓扑排序的有向图中不能存在环路。
20.如果数据元素保持有序,则查找时就可以采用折半查找方法。( )
【答案】×
【解析】采用折半查找的条件是数据元素有序且存储方式为顺序存储,对于常见的链式存储,在进行查找时主要依靠指针来操作。
21.设栈采用顺序存储结构。若已有杂性为
( )
【答案】
( )
个元素入栈,则将第i 个元素入栈时,入栈算法的时间复
【解析】由于该栈采用顺序存储结构,时间复杂度应该为0(1)。