2018年北京市培养单位工程科学学院863计算机学科综合(专业)之数据结构考研仿真模拟五套题
● 摘要
一、填空题
1. 在进行入栈运算时应先判别栈是否_____:在进行出栈运算时应先判别栈是否_____:当栈中元素为n 个,进行入栈运算时发生上溢,则说明该栈的最大容量为_____。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_____分别设在内存空间的两端,这样只有当_____时才产生溢出。
【答案】满;空;n ;栈底;两栈顶指针相邻(即值之差的绝对值为1)
2. 索引顺序文件既可以顺序存取,也可以 _____存取。
【答案】随机
3. 完善算法:求KMP 算法.next 数组。
k :=_____;next[1]:=0;
k :=_____;
END ;
【答案】0;next[k]
4. 数据结构是研讨数据的_____和_____以及它们之间的相互关系,并对与这种结构定义相应的_____, 设计出相应的_____。
【答案】逻辑结构;物理结构;操作(运算) ;算法
5. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。
【答案】4;2
6. 设广义表L =(( ),( )) ,则head(L)是_____tail(L)是_____L的长度是_____;深度是_____。
【答案】( );(( )) ;2;2
【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。
7. 遍历图的过程实质上是_____,广度优先遍历图的时间复杂度____;深度优先遍历图的时间复杂度_____,两者不同之处在于_____,反映在数据结构上的差别是_____。
【答案】查找顶点的邻接点的过程;0(n+e);0(n+e);访问顶点的顺序不同;队列和栈
【解析】广度优先遍历图使用队列这种数据结构,深度优先遍历图使用栈这种数据结构。
8. 已知链队列的头尾指针分别是f 和r ,则将值x 入队的操作序列是_____。
【答案】S =(LinkedList*)malloc(sizeof (LNode));s ﹣>data =x ;s ﹣>next =r ﹣>next ;r ﹣>next =s ;r =s ;
【解析】队列采用链式存储结构,先分配一个节点的内存,然后在队尾添加该节点。
9. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。
【答案】f ﹣>next =p ﹣>next ;f ﹣>prior =p ;p ﹣>next ﹣>prior =f ;p ﹣>next =f ;
10.在一个无向图的的邻接表中,若表结点的个数是m ,则图中边的条数是_____条。 【答案】
【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。
二、判断题
11.对两棵具有相同关键字集合的而形状不同的二叉排序树,按中序遍历它们得到的序列的顺序却是一致的。( )
【答案】√
【解析】形状不同的两个二叉排序树(关键字集合相同) ,在中序遍历下是输出排好序的序列,所以顺序是一致的。
12.一般来说,若深度为k 的n 个结点的二叉树只有最小路径长度,那么从根结点到第k ﹣1层具有的最多结点数为余下的
【答案】 √
【解析】求最小路径长度,即构成哈夫曼树,当哈夫曼树为k ﹣1层全满时,此时从根结点到第k ﹣1层具有最大的结点数为
13.若一个广义表的表头为空表,则此广义表亦为空表。( )
【答案】 ×
【解析】广义表的表头就是广义表的第一个元素。只有非空广义表才能取表头。
个结点在第k 层的任一位置上。( )
14.取线性表的第i 个元素的时间同i 的大小有关。( )
【答案】 ×
【解析】不一定,如果是顺序存储结构,它访问数据元素时的时间效率都是O(1)。
15.二元查找树的任何结点的左右子树都是二元查找树。( )
【答案】√
【解析】二元查找树也称作二元排序树。二元查找树的性质:①若左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若右子树不空,则右子树所有结点的值均大于它的根结点的值;③左右子树也分别为二元查找树。
16. 若一个有向图的邻接矩阵对角线以下元素均为零,则该图的拓扑有序序列必定存在。( )
【答案】√
【解析】因为一个有向图的邻接矩阵对角线以下元素均为零,则该图是一个有向无环图,所以该图的拓扑有序序列必定存在。
17.文件系统采用索引结构是为了节省存储空间。( )
【答案】×
【解析】是为了缩短查找的时间,牺牲了一部分存储空间。
18.堆肯定是一棵平衡二叉树。( )
【答案】×
【解析】堆是n 个元素的序列,排序树,更不会是平衡二叉树。
可以看成是完全二叉树,但相对于根并无左小右大的要求,故其既不是二叉
19.—个排序算法是否稳定,是指该算法在各种情况下的时间效率是否相差不大。( )
【答案】×
【解析】排序的稳定性指:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序, 这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri 在rj 之前,而在排序后的序列中,ri 仍在ij 之前,则 称这种排序算法是稳定的;否则称为不稳定的。
20.用一维数组存储二叉树时,总是以前序遍历顺序存储结点。( )
【答案】 ×
【解析】后序遍历、中序遍历也可以遍历一维数组存储的二叉树。
三、算法设计题
相关内容
相关标签