2018年西南石油大学计算机科学学院920计算机综合之数据结构考研强化五套模拟题
● 摘要
一、填空题
1. 建立索引文件的目的是_____。
【答案】提高查找速度
2. 抽象数据类型的定义仅取决于它的一组_____,而与_____无关,即不论其内部结构如何变化,只要它的_____不变,都不影响其外部使用。
【答案】逻辑特性;在计算机内部如何表示和实现;数学特性
3. 一个算法具有5个特性: _____、_____、_____、有零个或多个输入、有一个或多个输出。
【答案】有穷性;确定性;可行性
4. 组成串的数据元素只能是_____。
【答案】字符
5. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。
【答案】O(m+n)
6. 顺序存储结构是通过_____表示元素之间的关系的;链式存储结构是通过_____表示元素之间的关系的。
【答案】物理上相邻;指针
【解析】顺序存储结构是通过物理位置表示元素之间的关系的,链式存储结构通过指针表示元素之间的关系。
7. 设二维数组A 的行和列的下标范围分别为[0:8]和[0:10],每个元素占2个单元,按行优先顺序存储,第一个元素的存储起始位置为b ,则存储位置为b+50处的元素为_____。
【答案】A[2][3]
【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是(ll*i+j +l ﹣l)*2+b 。当其值为b +50时,则i =2,j =3。
8. —棵左子树为空的二叉树在前序线索化后,其中的空链域的个数为_____。
【答案】2
【解析】只有根结点的做指针为空和最右边的叶结点的右指针为空。
9. 堆是一种有用的数据结构。堆排序是一种_____排序,堆实质上是一棵_____结点的层次序列。对含有N 个元素的序列进行排序时,堆排序的时间复杂度是_____,所需的附加存储结点是_____。关键码序列05, 23, 16, 68, 94, 72, 71, 73是否满足堆的险质_____ 。
【答案】选择;完全二叉树;;O(1);满足堆的性质
10.数据结构中评价算法的两个重要指标是_____。
【答案】算法的时间复杂度和空间复杂度
二、判断题
11.在一个设有头指针和尾指针的单链表中,执行删除该单链表中最后一个元素的操作与链表的长度无关。( )
【答案】 ×
【解析】必须从头指针开始,查找到尾指针所指结点的前驱结点的指针。
12. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。( )
【答案】 ×
【解析】队列是一种先入先出型结构,而找才是先进后出的线性结构。
13.通常使用队列来处理函数或过程的调用。( )
【答案】 ×
【解析】经常使用栈来处理函数或过程的调用。
14.有n 个数顺序(依次) 入栈,出栈序列有Cn 种,
【答案】 √
15.设尾指针的循环链表表示队列,则入队和出队算法的时间复杂度均为O(1)( )。
【答案】 √
【解析】入队和出队操作分别在队尾和队头进行,设有尾指针的循环链表对头和尾元素的操作的时间复杂度是O(1)。
16.在动态存储管理系统中做空间分配时,最佳适配法与最先适配法相比,前者容易增加闲置空间的碎片。( )
【答案】√
【解析】最佳适配法:将可利用空间表中一个不小于n 且最接近n 的空闲块的一部分分配给用户;最先适配法:从表头指针开始查找可利用空间表,将找到的第一个大小不小于n 的空闲块的一部分分配给用户;从适配法选择上可以看出最佳适配法会增加闲置空间。
( )
17.文件系统采用索引结构是为了节省存储空间。( )
【答案】×
【解析】是为了缩短查找的时间,牺牲了一部分存储空间。
18.数据结构的抽象操作的定义与具体实现有关。( )
【答案】 ×
【解析】数据结构抽象操作定义取决于客观存在的一组逻辑特性,与其在计算机内具体表现和实现无关
19.哈希表的平均查找长度与处理冲突的方法无关。( )
【答案】×
【解析】常见的处理冲突的方法:开放地址法;再哈希法;链地址法;建立一个公共的溢出区。选取不同的处理冲突的方法,哈希表的平均查找长度可能不同。
20.栈和队列都是限制存取点的线性结构。( )
【答案】 √
三、算法设计题
21.给定nxm 矩阵并设
设计一算法判定x 的值是否在A 中,要求时间复杂度
为O(m+n) 。
【答案】算法如下:
//n*m矩阵A ,行下标从a 到b ,列下标从c 到d ,本算法査找x 是否在矩阵A 中
//flag是成功査到x 的标志
//假定x 为整型
(“矩阵A 中无
算法search 结束。
22.已知关键字序列(
试写出一算法将(
利用(1)的算法写一个建大根堆的算法。
【答案】(1)算法如下:
元素\n",x) ;
) 是大根堆。 ) 调整为大根堆;