2017年湘潭大学信息工程学院848数据结构(一)考研强化模拟题
● 摘要
一、填空题
1. 在基于关键字比较且时间为O (nl 〇g2n )的排序中,若要求排序是稳定的,则可选用_____,则可选用_____排序。 排序;若要求就地排序(及辅助空间为0(1))
【答案】归并;堆
2. 设为哈夫曼树的叶结点数日,则该哈夫曼树共有_____个结点。
【答案】
【解析】哈夫曼树只有度为0和2的节点。
3. 设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称 增量序列)依次是4,2,1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。
【答案】3; (10,7,-9,0,47,23,1,8,98,36)
4. 阅读下列程序说明和裎序,填充程序中的_____。
【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示(编科略)本程序采用非递归的方法,设立一个堆栈交换左、右子树的算法为:
(1)把根结点放入堆栈。
(2)当堆栈不空时,取出栈顶元素,交换它的左、右子树,并把它的左、右子树分别入栈。(3)重复(2)直到堆栈为空时为止。
存放还没有转换过的结点,它的栈顶指针为
。
(1)
{(2)
If ( (3) )
}
}}
【答案】
【解析】本题主要使用堆栈完成了二叉树左右子树交换的操作。首先根结点进栈,然后判断栈足否为空,如果不为空,则取栈顶元素,交换取出节点的左右指针。并将左右指针分别进桟,重复这一操作。完成二叉树左右孩子的交换。
5. 在拓扑分类中,拓扑序列的最后一个顶点必定是_____的顶点。
【答案】出度为0
【解析】如果最后一个顶点的出度不为0, 则必定还有顶点存在,与题目所说的最后一个顶点矛盾,所有最 后一个顶点的出度必定为零。
6. 顺序栈用存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。
【答案】
【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。
7. 当两个栈共享一存储区时,栈利用一维数组表示,两栈顶指针为当栈1空时
,
【答案】
为_____,栈2空时
,
为_____,栈满时为_____。
则
【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。
8. 二叉树的前序序列和中序序列相同的条件是_____。
【答案】空树或任何结点至多只有右子树的二叉树
【解析】前序遍历的顺序为根左右,中序遍历的顺序为左根右,因此若中序遍历和前序遍历序列相同,则任何结点都没有左子树。
9. 顺序存储结构是通过_____表示元素之间的关系的;链式存储结构是通过_____表示元素之间的关系的。
【答案】物理上相邻;指针
【解析】顺序存储结构是通过物理位置表示元素之间的关系的,链式存储结构通过指针表示元素之间的关系。
10.
给定一组数据
的值为_____。 【答案】5;96
【解析】每次找两个最小的权值构建哈夫曼树:
以它构造一棵哈夫曼树,则树高为_____,
带权路径长度
二、选择题
11.元素a , b , c , d , e 依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d 开头的序列个数是( )。
A.3 B.4 C.5 D.6
【答案】B
【解析】d 首先出栈后的状态如下图所示。
此时可有以下4种操作:
(1)e 进找后出栈,出梭序列为decba 。 (2)c 出找,e 进找后出栈,出找序列为dceba 。 (3)cb 出找,e 进找后出栈,出找序列为dcbea 。
(4)cba 出找,e 进找后出找,出找序列为dcbae 。
12.对有2个顶点e 条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度是( )。
A.
B.
C.
D. 【答案】C 。
【解析】遍历图的过程实质上是对每个顶点查找其邻接点的过程。其耗费的时间则取决于所采用的存储结构。当用二维数组表示邻接矩阵图的存储结构时,查找每个顶点的邻接点所需时间
为
其中n 为图中顶点数。而当以邻接表作图的存储结构时,找邻接点所需时间为
即可得出正确答案。
其
中e 为无向图中边的数或有向图中弧的数。由此,当以邻接表作存储结构时,深度优先搜索遍历图的时间复杂度为
13.已知程序如下:
{
} { }
程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息依次对应的是( )。
相关内容
相关标签