2018年合肥工业大学计算机与信息学院848软件工程学科专业基础综合之数据结构考研核心题库
● 摘要
一、填空题
1. 下面程序的功能是用递归算法将一个整数按逆序存放到一个字符数组中。如123存放成321。请填空:
(_____i);
=
_____.
_____
【答案】a +l ;n%10
【解析】通过递归算法,首先找到最高位的值,将其放到str 对应的数组中,依次反向获取从高位到地位的值,将其放到数组中,完成了将整数逆序放到一个字符数组中。
2. 若用n 表示图中顶点数目,则有_____条边的无向图成为完全图。 【答案】
【解析】无向完全图中任意一个顶点都和其他n -1个顶点都有一条边,即为n(n-1) 。又因
. 。 为每条边重复出现两次,所有无向完全图的边数为
3. 设二维数组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。
4. 已知二维数组
【答案】1196
第 2 页,共 45 页 中每个元素占4个单元,在按行优先方式将其存储到起始地址为1000的连续存储区域时,A[5,9]的地址是: _____。
【解析】设元素的行标为i ,列标为j 。则它的存储位置为:l000+[(i﹣l)*l0+(j﹣0)]*4
5. 数据结构中评价算法的两个重要指标是_____。
【答案】算法的时间复杂度和空间复杂度
6. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k =_____。(注:矩阵元素下标从1开始)
【答案】93
【解析】对于上三角矩阵,k =(i﹣l)(2n﹣i +2)/2+(j﹣i) +l 。将i =j =9,n =15代入得93。
7. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_____存储结构。
【答案】顺序
【解析】顺序存储结构的存取操作比较方便,但插入和删除操作不如链式存储结构方便,而且需要连续的存储空间,由于该线性表的元素总数基本稳定,而且很少进行插入删除操作,为了更快的存取元素,顺序表更合适。
8. 假定有k 个关键字互为同义词,若用线性探测再哈希法把这k 个关键字存入哈希表中,至少要进行_____次探测。 【答案】
【解析】当该关键字发生冲突时,用线性探测不会遇到别的关键字冲突,这个时候需要探测的次数最小。总次数为。
9. n 个顶点的有向图用邻接矩阵array 表示,下面是其拓扑排序算法,试补充完整。
注:(1)图的顶点号从0开始计;
(2)indegree是有n 个分量的一维数组,放顶点的入度,
(3)函数crein 用于记算顶点入度;
(4)有三个函数
回1,否则0) 。
第 3 页,共 45 页 在B 其含义为数据data 入栈,出栈和测试栈是否空(不空返
("图有回路") ;
【答案】
【解析】有向图用邻接矩阵表示时,顶点i 的入度等于第i 列的所有元素之和。拓扑排序过程:首先将入度为0的顶点全部进栈。然后弹出栈顶结点,并将与弹出的顶点相连的其它顶点的入度
减一,然后判断这些顶点的入度是否为零,如果为零,继续进栈,重复这些操作,完成拓扑排序。
10.索引顺序文件既可以顺序存取,也可以 _____存取。
【答案】随机
二、判断题
11.如果数据元素保持有序,则查找时就可以采用折半查找方法。( )
【答案】×
【解析】采用折半查找的条件是数据元素有序且存储方式为顺序存储,对于常见的链式存储,在进行查找时主要依靠指针来操作。
12.设尾指针的循环链表表示队列,则入队和出队算法的时间复杂度均为O(1)( )。
【答案】 √
【解析】入队和出队操作分别在队尾和队头进行,设有尾指针的循环链表对头和尾元素的操作的时间复杂度是O(1)。
13.哈希表的平均查找长度与处理冲突的方法无关。( )
【答案】×
【解析】常见的处理冲突的方法:开放地址法;再哈希法;链地址法;建立一个公共的溢出区。选取不同的处理冲突的方法,哈希表的平均查找长度可能不同。
14.强连通分量是无向图的极大强连通子图。( )
【答案】×
【解析】强连通分量是对有向图而言的,一般在无向图中讨论连通性。
15.在外部排序过程中,对长度为n 的初始序列进行“置换-选择”排序时,可以得到的最大初始有序段的长度不超过n/2。( )
【答案】×
【解析】当输入文件以关键字的升序排序时,只能得到一个长度为文件长度的初始归并段
第 4 页,共 45 页
相关内容
相关标签