2018年闽南师范大学计算机学院821计算机学科专业基础综合[专业硕士]之数据结构考研核心题库
● 摘要
一、填空题
1. 组成串的数据元素只能是_____。
【答案】字符
2. 应用prim 算法求解连通网络的最小生成树问题。
(1)针对如图所示的连通网络,试按如下格式给出在构造最小生成树过程中顺序选出的各条边。(始顶点号,终顶点号,权值
)
(2)下面是Prim 算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。
的值在
图的顶点数,应由用户定义
用二维数组作为邻接矩阵表示
生成树的边结点
边的起点与终点
边上的权值
最小生成树定义
从顶点rt 出发构造图G 的最小生成树T , rt 成为树的根结点
初始化最小生成树
T
依次求MST 的候选边
第 2 页,共 54 页
中
遍历当前候选边集合
选具有最小权值的候选边
图不连通,出错处理
修改候选边集合
【答案】(1)
(2)
【解析】Prim 算法的执行类似于寻找图的最短路径的Dijkstra 算法。假设是N 上最小生成树边的集合。算法从属于
的边为止。
3. 用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是_____和_____;若只设尾指针,则出队和入队的时间复杂度分别是_____和_____。
【答案】O(1);O(n);O(1);O(1)
【解析】队列的出队操作即删除队头的元素,队列的入队操作即在队尾添加元素,循环链表只设头指针,出队时,只要把头结点的下一个结点删除就好了,入队时,要把新的结点插入队尾,必须把队列遍历,找到队尾指针,才能插入。循环队列只设尾指针,出队时只要把为指针的下一个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。
4. —个有2001个结点的完全二叉树的高度是_____。
【答案】11
【解析】完全二叉树的高度
5. G 是一个非连通无向图,共有28条边,则该图至少有_____个顶点。
【答案】9
【解析】求该非连通无向图的最少顶点数,则该图为一个孤立的顶点和一个完全连通图。
6. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。
【答案】f ﹣>next =p ﹣>next ;f ﹣>prior =p ;p ﹣>next ﹣>prior =f ;p ﹣>next =f ;
第 3 页,共 54 页
是连通图
,
,v ,
直到
,开始,重复执行下述操作:在所有u 属于
加入集合
,同时将并入
属于E 中找一条代价最小的边
二、单项选择题
7. 已知序列25, 13, 10, 12, 9是大根堆, 在序列尾部插入新元素18, 将其再调整为大根堆, 调整过程中元素之间进行的比较次数是( )。
A.1 B.2 C.4 D.5
【答案】B
【解析】对堆插入或删除一个元素, 有可能不满足堆的性质, 堆被破坏, 需要调整为新堆。 (1)为原堆, (2)为插入18后, (3)比较10与18, 交换后,
(4)比较25与18, 不交换, 即为调整后的新的大根堆。 因此调整过程中元素之间进行的比较次数为2。
8. 对于下列关键字序列, 不可能构成某二叉排序树中一条查找路径的序列是( )。
A.95, 22, 91, 24, 94, 71 B.92, 20, 91, 34, 88, 35 C.21, 89, 77, 29, 36, 38 D.12, 25, 71, 68, 33, 34
【答案】A
【解析】各选项对应的查找过程如下图所示, 从中看到选项B 、C 、D 对应的查找树都是二叉排序树, 只有选项A 对应的查找树不是一棵二叉排序树, 因为在以91为根的左子树中出现了比91大的结点94。
第 4 页,共 54 页
相关内容
相关标签