2017年南京理工大学计算机科学与工程学院825计算机专业基础B之数据结构考研仿真模拟题
● 摘要
一、填空题
1. 抽象数据类型的定义仅取决于它的一组_____,而与_____无关, 即不论其内部结构如何变化,只要它的_____不变,都不影响其外部使用。
【答案】逻辑特性;在计算机内部如何表示和实现;数学特性
2. 设数组
数组中任一元素
均占内存48个二进制位,从首地址2000开始
连续存放在主内存里,主内存字长为16位,那么
(1)存放该数组至少需要的单元数是_____;
(2)存放数组的第8列的所有元素至少需要的单元数_____; (3)数组按列存储时,元素【答案】270; 27; 2204 【解析】数组的元素个数为需要
第8列有9个元素,共占
因为每个元素占内存48个二进制位,即6个字节。故总
个单元数。
个字节,因此至少需要
个单元数。由题知,每个元素占3
个字节,因为主内存字长为16位,即2个字节,所以至少需要
的起始地址是_____。
个单元。按列存储时,的起始地址为
3. 文件由_____组成;记录由_____组成。
【答案】记录;数据项
4. 设二维数组A 的行和列的下标范围分别为
【答案】
和
每个元素占2个单元,按行优先顺处的元素为_____。
当其值为
序存储,第一个元素的存储起始位置为b ,则存储位置为
【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是时,则i=2,j=3。
5. 二进制地址为011011110000,大小为
【答案】011011110100;011011100000
011011110000是块的起始地址,【解析】大小分别为式如下:
当大小为4时,起始地址
为
第 2 页,共 64 页
和块的伙伴地址分别为:_____ 和
其伙伴块的起始地址计算公
当大小为16时,起始地址为:
6. 设为哈夫曼树的叶结点数日,则该哈夫曼树共有_____个结点。
【答案】
【解析】哈夫曼树只有度为0和2的节点。 7. 在图G 的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的_____; 对于有向图来说等于该顶点的_____。
【答案】度;出度 8. 假定查找有序表
【答案】37/12
【解析】折半查找时每个的次数如表所示:
表
平均查找次数为
9. 应用prim 算法求解连通网络的最小生成树问题。 边。
〔始顶点号,终顶点号,权值)
中每个元素的概率相等,则进行折半查找时的平均查找长度为_____
(1)针对如图所示的连通网络,试按如下格式给出在构造最小生成树过程中顺序选出的各条
(2)下面是Prim 算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。
的值在〈limits •h>中
//图的顶点数,应由用户定义
//用二维数组作为邻接矩阵表示
//生成树的边结点
//边的起点与终点
//边上的权值
//最小生成树定义
//从顶点rt 出发构造图G 的最小生成树T ,rt 成为树的根结点
第 3 页,共 64 页
//初始化最小生成树
T
//依次求MST 的候选边
//遍历当前候选边集合
//选具有最小权值的候选边
//图不连通,出错处理
//修改候选边集合
【答案】(1)(0,3,1); (3,5, 4); (5,2,2); (3,1, 5); (1,4,3) (2)①T[k]; tovex=i②min=Maxint③mispos=i④exit (O )⑤T[i]; fromvex=v
【解析】Prim 算法的执行类似于寻找图的最短路径的Dijkstra 算法。假设N={V,E}是连通图
,是N
上最小生成树边的集合。算法从属于
为止。
10.N 个顶点的连通图用邻接矩阵表示时,该矩阵至少有_____个非零元素。
【答案】2(N-1)
【解析】所谓连通图一定指的是无向图,有向图会称作强连通图。连接N 个顶点,至少需要N-1条边就可 以了。由于无向图的每一条边同时关联了两个顶点。因此用邻接矩阵表示时,该矩阵至少有2(N-1)个非零元素。
11.在基于关键字比较且时间为O (nl 〇g2n )的排序中,若要求排序是稳定的,则可选用_____,则可选用_____排序。 排序;若要求就地排序(及辅助空间为0(1))
【答案】归并;堆
12.在顺序存储的二叉树中,编号为i 和j 的两个结点处在同一层的条件是_____。
【答案】要加“虚结点”。
设编号为
和
的结点在顺序存储中的下标为
和
。
第 4 页,共 64 页
E T 开始,重复执行下述操作:在所有u
属于
加入集合
同时将
并入
v
直到
的边(u ,v )属于E
中找一条代价最小的边
【解析】用顺序存储结构存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,
,
则结点
和
在同一层上的条件是