欢快地安排了大半个晚上来做这次线上期末考,最后发现每种题型做完后都没摁保存(我就一直纳闷题目列表的状态怎么不会有变化!)...最后几分钟赶紧回忆答案尽可能多的填上去qwq,本来有机会拿50块PAT代金券的说,蠢这一下子估计就20的代金卷了qwq...大家做期末考(期中考应该也是!可惜俺错误了),一定要做完一类题型,摁一下最下面的保存!!
一、判断题5道
1-1 对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。
1-2 对一棵平衡二叉树,所有非叶结点的平衡因子都是0,当且仅当该树是完全二叉树。
1-3 无向连通图至少有一个顶点的度为1。
1-4 若用平方探测法解决冲突,则插入新元素时,若散列表容量为质数,插入就一定可以成功。
1-5 NlogN2和NlogN具有相同的增长速度。
(FFFFT,我错了1-3,感觉把无向连通图改成有向连通图可能就成立哩,1-1显然错误,1-2记得完全二叉树定义可以有最后一层不满的情况,1-4质数应该是跟冲突解决办法相关而容量无关,1-5前者可转化为2NlogN)
二、单选题22道
(自己模拟一下过程就好)
(重新模拟构建了一下,应该是选C。自己画一下,V1的出边连着下标2、1、3对应的V3、V2、V4;V2和V4没有出边;V3的出边连着下标3、4对应的V4、V5;V5的出边连着下标1、3对应的V2、V4;注意这里的先后次序,然后模拟广度优先,V1-V3-V2-V4,继续从V3-V4-V5)
(定理很简单,动手模拟一下就是了)
(2-6主要看for循环要循环根号项范围,奇数的化其实是还要在循环内判断的;2-7不是很懂,队列先进先出实现,栈的话也许因为后进先出的特殊方式,出栈的时候顺序可能会不一样?mark一下,欢迎大佬留言详解)
(2-8哈夫曼树就是带权路径长度最优的二叉树,带权路径长度计算就是每层叶子节点的权值,乘以第几层/距根节点的边长数;2-9迪杰斯特拉算法,1-6,6-7,7-5无出边,6-3,3-2,回头剩3-4,也就是1-6-7-5-3-2-4)
(2-10正确为C,做的时候好像没搞清楚怎么进行平衡二叉树的调整,需要手动好好模拟:在插入3的时候,LL右旋,7成为根节点;插入6的时候,LR左右旋,3成为根节点7的左儿子,最后层序的话是73825946,46为5的左右子树)
(2-11正确为D,也是盲点。这里的循环队列为了判断队列满,应该少用了一个数组空间,所以front要到rear的位置+size-1就好,而对数组空间取余则防止越界,实现循环的效果)
(2-12显然是个右中左的顺序,中序遍历的反转似的;2-13最小堆,删除俩最小后,新的堆顶就从剩下的和新插入的里面,找到那个最小的好了)
(2-14栈的基础题;2-15正确选C,最后不够时间没记起来做的答案...次位优先的基础排序,就是先只看最低位的数字来排,一趟处理后就是D的样子了,第二趟后就是C的样子了,注意7第二趟时升位为0,故在前头~)
(2-16对选项模拟一下就好;2-17显然;2-18最小生成树的总权重,动笔构建这棵最小生成树出来,0-4,0-1,3-4,4-2,四条无向边的权总分别为2、4、1、7,加总即14)
(2-19根据两侧正序情况,排除冒泡,归并的话前面貌似符合后面23位置不符排除,选择排序是不断找最大/最小的来替换,也是看两侧正序不完全故排除,而插入排序随着进行左侧序列基本是正序的,可以选择;2-20步长为4的希尔排序的第一趟,那么49到97为一组,97到50为一组,然后从两组逐个比较,49比97小位置不变,38比13大两者调换位置,然后65与27换,97与50换)
(2-21散列表,线性探测解决冲突,也就是冲突了的就往后挪着放,关键字序列的地址依次是6、5、2、8、9、10、11;
2-22调整建立最大堆,从最后一个有儿子的节点【第N/2个节点】开始向前逐一调整,即42、28先后成为5的子树,然后42成为根节点,原根节点5下滤调整成为最后一个节点,40成为42的右儿子)
判断选择部分完结,最后列一下原题(便于需要检索相关题的网友可以找到,因为上面为了排版都是截图~,不过后面就不一一重新排版了哈)
1-1
对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。 (2分)
T F
作者
DS课程组
单位
浙江大学
1-1
答案正确
(2 分)
创建提问
1-2
对一棵平衡二叉树,所有非叶结点的平衡因子都是0,当且仅当该树是完全二叉树。(2分)
T F
作者
徐镜春
单位
浙江大学
1-2
答案正确
(2 分)
创建提问
1-3
无向连通图至少有一个顶点的度为1。 (2分)
T F
作者
DS课程组
单位
浙江大学
1-3
答案错误
(0 分)
创建提问
1-4
若用平方探测法解决冲突,则插入新元素时,若散列表容量为质数,插入就一定可以成功。 (2分)
T F
作者
DS课程组
单位
浙江大学
1-4
答案正确
(2 分)
创建提问
1-5
NlogN2和NlogN具有相同的增长速度。 (2分)
T F
作者
DS课程组
单位
浙江大学
1-5
答案正确
(2 分)
创建提问
2-1
给定输入序列 {4371, 1323, 6173, 4199, 4344, 9679, 1989} 以及散列函数 h(X)=X%10。如果用大小为10的散列表,并且用分离链接法解决冲突,则输入各项经散列后在表中的下标为:(-1表示相应的插入无法成功)(4分)
作者
DS课程组
单位
浙江大学
2-1
答案正确
(4 分)
创建提问
2-2
设栈S和队列Q的初始状态均为空,元素a、b、c、d、e、f、g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b、d、c、f、e、a、g,则栈S的容量至少是: (2分)
作者
DS课程组
单位
浙江大学
2-2
答案正确
(2 分)
创建提问
2-3
给定一有向图的邻接表如下。从顶点V1出发按广度优先搜索法进行遍历,则得到的一种顶点序列为: (2分)
作者
DS课程组
单位
浙江大学
2-3
答案错误
(0 分)
创建提问
2-4
将1~6这6个键值插到一棵初始为空的二叉搜索树中。如果插入完成后,搜索树结构如图所示,问:可能的插入序列是什么? (2分)
作者
何钦铭
单位
浙江大学
2-4
答案正确
(2 分)
2-5
在并查集问题中,已知集合元素0~8所以对应的父结点编号值分别是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:−n表示树根且对应集合大小为n),那么将元素6和8所在的集合合并(要求必须将小集合并到大集合)后,该集合对应的树根和父结点编号值分别是多少? (4分)
作者
DS课程组
单位
浙江大学
2-5
答案正确
(4 分)
创建提问
2-6
要判断一个整数N(>10)是否素数,我们需要检查3到√N之间是否存在奇数可以整除N。则这个算法的时间复杂度是:(2分)
作者
徐镜春
单位
浙江大学
2-6
答案正确
(2 分)
创建提问
2-7
在拓扑排序算法中用堆栈和用队列产生的结果会不同吗?(2分)
作者
DS课程组
单位
浙江大学
2-7
答案正确
(2 分)
创建提问
2-8
哈夫曼树是n个带权叶子结点构成的所有二叉树中()最小的二叉树。 (2分)
作者
严冰
单位
浙江大学城市学院
2-8
答案错误
(0 分)
2-9
使用迪杰斯特拉(Dijkstra)算法求下图中从顶点1到其他各顶点的最短路径,依次得到的各最短路径的目标顶点是:(4分)
作者
陈越
单位
浙江大学
2-9
答案正确
(4 分)
创建提问
2-10
将 8, 9, 7, 2, 3, 5, 6, 4 顺序插入一棵初始为空的AVL树。下列句子中哪句是错的? (4分)
作者
徐镜春
单位
浙江大学
2-10
未作答
(0 分)
创建提问
2-11
如果循环队列用大小为m
的数组表示,队头位置为front
、队列元素个数为size
,那么队尾元素位置rear
为: (2分)
front+size
front+size-1
(front+size)%m
(front+size-1)%m
作者
DS课程组
单位
浙江大学
2-11
未作答
(0 分)
创建提问
2-12
给定二叉树如下图所示。设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。若遍历后的结点序列为3、1、7、5、6、2、4,则其遍历方式是: (2分)
作者
DS课程组
单位
浙江大学
2-12
答案正确
(2 分)
创建提问
2-13
将 { 10, 12, 1, 14, 6, 5, 8, 15, 3, 9, 7 } 逐个按顺序插入到初始为空的最小堆中,然后连续执行两次删除最小元素操作(DeleteMin),再插入4,16,此后堆顶的元素是什么? (4分)
作者
何钦铭
单位
浙江大学
2-13
答案正确
(4 分)
创建提问
2-14
设一个栈的输入序列是1、2、3、4、5,则下列序列中,是栈的合法输出序列的是? (4分)
作者
DS课程组
单位
浙江大学
2-14
答案正确
(4 分)
创建提问
2-15
对给定序列{ 110,119,7,911,114,120,122 }采用次位优先(LSD)的基数排序,则两趟收集后的结果为: (2分)
作者
DS课程组
单位
浙江大学
2-15
答案错误
(0 分)
创建提问
2-16
在图中自d点开始进行深度优先遍历算法可能得到的结果为: (2分)
作者
DS课程组
单位
浙江大学
2-16
答案正确
(2 分)
创建提问
2-17
数据结构中Dijkstra算法用来解决哪个问题? (2分)
作者
DS课程组
单位
浙江大学
2-17
答案正确
(2 分)
创建提问
2-18
给定有权无向图的邻接矩阵如下,其最小生成树的总权重是: (4分)
作者
DS课程组
单位
浙江大学
2-18
答案正确
(4 分)
创建提问
2-19
若数据元素序列{ 11,12,13,7,8,9,23,4,5 }是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是: (2分)
作者
DS课程组
单位
浙江大学
2-19
答案正确
(2 分)
创建提问
2-20
对于序列{ 49,38,65,97,76,13,27,50 },按由小到大进行排序,下面哪一个是初始步长为4的希尔排序法第一趟的结果? (4分)
作者
DS课程组
单位
浙江大学
2-20
答案正确
(4 分)
创建提问
2-21
设散列表的地址区间为[0,16],散列函数为H(Key)=Key%17。采用线性探测法处理冲突,并将关键字序列{ 26,25,72,38,8,18,59 }依次存储到散列表中。元素59存放在散列表中的地址是: (4分)
作者
DS课程组
单位
浙江大学
2-21
答案正确
(4 分)
创建提问
2-22
设最小堆(小根堆)的层序遍历结果为{5, 18, 15, 28, 22, 42, 40}。用线性时间复杂度的算法将该堆调整为最大堆(大根堆),则该树的中序遍历结果为:(4分)
作者
DS课程组
单位
浙江大学
2-22
答案正确
(4 分)
创建提问