【PTA】中国大学MOOC-陈越、何钦铭-数据结构-2019秋期末考试
一、判断题:
1-1
对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。 【F】
1-2
2N 和 NN 具有相同的增长速度。 【F】
1-3
若一棵平衡二叉树的所有非叶结点的平衡因子都是0,则其必为完美二叉树【T】
1-4
在任一有向图中,所有顶点的入度之和等于所有顶点的出度之和。 【T】
1-5
采用平方探测冲突解决策略(hi (k)=(H(k)+i2 )%11, 注意:不是±i2 ),将一批散列值均等于2的对象连续插入一个大小为11的散列表中,那么第4个对象一定位于下标为0的位置。 【T】
二、选择题:
2-1
试利用Floyed算法,求下图所示有向图的各对顶点之间的最短路径。下列选项哪个给出了正确的最短路径长度矩阵和最短路径矩阵?
2-2
对一组数据{ 2,12,16,88,5,10 }进行排序,若前三趟排序结果如下: 第一趟排序结果:2,12,16,5,10,88 第二趟排序结果:2,12,5,10,16,88 第三趟排序结果:2,5,10,12,16,88 则采用的排序方法可能是:
A. 冒泡排序
B. 希尔排序
C. 归并排序
D. 基数排序
答案:【A】
2-13
数据结构中Dijkstra算法用来解决哪个问题?
A. 关键路径
B. 最短路径
C. 拓扑排序
D. 字符串匹配
答案:【B】
2-17
给定输入序列 {4371, 1323, 6173, 4199, 4344, 9679, 1989} 以及散列函数 h(X)=X%10。如果用大小为10的散列表,并且用线性探测解决冲突,则输入各项经散列后在表中的下标为:(-1表示相应的插入无法成功)
A. 1, 3, 3, 9, 4, 9, 9
B. 1, 3, 4, 9, 7, 5, -1
C. 1, 3, 4, 9, 5, 0, 8
D. 1, 3, 4, 9, 5, 0, 2
答案:【D】
三、程序填空题:
5-1
下列代码的功能是将一列元素{ r[1] … r[n] }按其键值 key 的非递减顺序排序。普通选择排序是每次仅将一个待排序列的最小元放到正确的位置上,而这个另类的选择排序是每次从待排序列中同时找到最小元和最大元,把