2017年燕山大学重型机械协同创新中心810数据结构考研强化模拟题
● 摘要
一、填空题
1. 已知链队列的头尾指针分别是f 和r , 则将值x 入队的操作序列是_____。
【答案】
【解析】队列采用链式存储结构,先分配一个节点的内存,然后在队尾添加该节点。
2. 克鲁斯卡尔算法的时间复杂度为_____,它对_____图较为适合。
【答案】O (eloge ); 边稀疏
3. 求最短路径的Dijkstra 算法的时间复杂度为_____。
【答案】
4. 执行顺序查找时,存储方式可以是_____,折半查找时,要求线性表_____,分块查找时要求线性表_____,而哈希表的查找,要求线性表的存储方式是_____。
【答案】顺序存储或链式存储;顺序存储且有序;块内顺序存储,块间有序;散列存储
5. 有五个数据依次入栈:1,2, 3, 4, 5。在各种出栈的序列中,以3, 4先出栈的序列有_____。(3在4之前出栈)
【答案】3个
【解析】以3, 4先出栈的序列有34521、34215、34251共3个。
6. 若用n 表示图中顶点数目,则有_____条边的无向图成为完全图。
【答案】n (n-l )/2
【解析】无向完全图中任意一个顶点都和其他n-1个顶点都有一条边,即为n (n-l )。又因为每条边重复出现两次,所有无向完全图的边数为n (n-l )/2。
7. VSAM 系统是由_____、_____、_____构成的。
【答案】索引集;顺序集;数据集
8. 设数组储,则元素为_____。
【答案】9174;8788
【解析】设一个元素的行标为i ,列标为j 。若以行序为主存储顺序,
则它的存储地址为
若以列序为主存储顺序,则它的存储地址为
第 2 页,共 67 页
的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存
的存储地址为_____;若以列序为主序顺序存储,则元素
的存储地址
9. 表达式
【答案】
的后缀表达式是_____。
10.文件可按其记录的类型不同而分成两类,即_____和_____文件。
【答案】操作系统文件;数据库
11.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_____和_____; 而又根据指针的连接方式,链表又可分成_____和_____。
【答案】单链表;双链表;(动态)链表;静态链表
【解析】线性表的链式存储结构根据每个结点包含的指针个数分为单链表和双链表,单链表只包含一个指针,指向后续元素,双链表包括两个指针,指向前一个元素和后续元素。根据指针的连接方式,链表可分为动态链表和静态链表。静态链表的指针指向下一个元素的编号,动态链表的指针指向下一个元素的物理位置。
12.无用单元是指_____,例_____
【答案】用户不再使用而系统没有回收的结构和变量;
13.属于不稳定排序的有_____。
【答案】希尔排序、简单选择排序、快速排序、堆排序等
14.下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。
第 3 页,共 67 页
【答案】
【解析】快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
15.用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是_____和_____;若只设尾指针,则出队和入队的时间复杂度分别是_____和_____。
【答案】
【解析】队列的出队操作即删除队头的元素,队列的入队操作即在队尾添加元素,循环链表只设头指针,出队时,只要把头结点的下一个结点删除就好了,入队时,要把新的结点插入队尾,必须把队列遍历,找到队尾指针,才能插入。循环队列只设尾指针,出队时只要把为指针的下一个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。
二、选择题
16.n 个顶点的无向图的邻接表最多有( )个表结点。
A.IT B.n (n-l ) C.n (n+l) D.n (n-l )/2 【答案】B
【解析】当n 个顶点构成的无向图是无向完全图时,则每一个结点都会和其余的n-1个结点连接,从而会产生n (n-l )个表结点。
17.若平衡二叉树的高度为6, 且所有非叶结点的平衡因子均为1,则该平衡二叉树的结点总数为( )。
A.12 B.20 C.32 D.33
【答案】B 。
【解析】本题题目的实际问题是,具有6层结点的平衡二叉树含有最少的结点数是多少。表示深度为h 的平衡二叉树中含有的最少结点数,有
由此可得
对应的平衡二叉树如下图所示。
第 4 页,共 67 页
相关内容
相关标签