2017年西南石油大学计算机科学学院925数据结构考研导师圈点必考题汇编
● 摘要
一、填空题
1. 以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。
【答案】(1)(2)
链表未到尾就一直进行
将当前结点作为头结点后的第一元素结点插入
2. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉 树。故结点个数为
3. 阅读下列程序说明和裎序,填充程序中的_____。
【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示(编科略)本程序采用非递归的方法,设立一个堆栈交换左、右子树的算法为:
(1)把根结点放入堆栈。
(2)当堆栈不空时,取出栈顶元素,交换它的左、右子树,并把它的左、右子树分别入栈。(3)重复(2)直到堆栈为空时为止。
存放还没有转换过的结点,它的栈顶指针为
。
(1)
{(2)
If ( (3) )
}
}}
【答案】
【解析】本题主要使用堆栈完成了二叉树左右子树交换的操作。首先根结点进栈,然后判断栈足否为空,如果不为空,则取栈顶元素,交换取出节点的左右指针。并将左右指针分别进桟,重复这一操作。完成二叉树左右孩子的交换。
4. 已知一循环队列的存储空间为其中环队列判满的条件是( )
【答案】
5. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。
【答案】稳定
6. 已知二维数组
为1000的连续存储区域时
,
【答案】1196
【解析】设元素的行标为i ,列标为j 。则它的存储位置为:
7. n 个顶点的有向图用邻接矩阵array 表示,下面是其拓扑排序算法,试补充完整。
注:(1)图的顶点号从0开始计;
(2)indegree 是有n 个分量的一维数组,放顶点的入度, (3)函数crein 用于记算顶点入度;
(4)有三个函数push (data ), pop( ), check( )其含义为数据data 入浅,出栈和测试栈是否空(不空返回1, 否则0)。
)
.
【答案】0; j; i; 0; indegree[i]=0; [vex][i]; k==l; indegree[i]=0
队头和队尾指针分别为front 和rear , 则此循
中每个元素占4个单元,在按行优先方式将其存储到起始地址的地址是:_____。
;
(“图有回路”)
【解析】有向图用邻接矩阵表示时,顶点i 的入度等于第i 列的所有元素之和。拓扑排序过程:首先将入度 为0的顶点全部进栈。然后弹出栈顶结点,并将与弹出的顶点相连的其它顶点的入度 减一,然后判断这些顶点的 入度是否为零,如果为零,继续进栈,重复这些操作,完成拓扑排序。
8. 在一个无向图的的邻接表中,若表结点的个数是m , 则图中边的条数是_____条。
【答案】m/2
【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。
9. 在有n 个顶点的有向图中,每个顶点的度最大可达。
【答案】2(n-l )
【解析】当有向图为完全连通图时每个顶点的度达到最大,出度入度均为n-1。
10.起始地址为480,大小为8的块,其伙伴块的起始地址是_____;若块大小为32,则其伙伴块的起始地址为_____。
【答案】
【解析】起始地址为P ,大小为的内存块,其伙伴块的起始地址计算公式如下:
根据上述公式起始地址就为488。
二、判断题
11.顺序存储结构的主要缺点是不利于插入或删除操作。( )
【答案】
【解析】因为顺序表的插入删除会移动大量的元素。
12.—个排序算法是否稳定,是指该算法在各种情况下的时间效率是否相差不大。( )
【答案】×
【解析】排序的稳定性指:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,
且ri 在rj 之前,而在排序后的
序列中,ri 仍在rj 之前,则称这种排序算法是稳定的;否则称为不稳定的。
13.一般来说,若深度为k 的n 个结点的二叉树只有最小路径长度,那么从根结点到第的最多结点数为
【答案】√
【解析】求最小路径长度,即构成哈夫曼树,当哈夫曼树为层具有最大的结点数为
层全满时,
此时从根结点到第
余下的
个结点在第k 层的任一位置上。( )
层具有
相关内容
相关标签