刷题日记?刷题日寄!
这学期的数据结构课程快要结束,开始复习刷题,量不求多,但求坚持每日更新!
🔥 系列专栏:数据结构&算法
🌹 发现有需要纠正的地方,烦请指正!
🚀 欢迎小伙伴们的三连+关注!
往期系列:
【数据结构与算法】期末复习刷题日寄Part01(第01天到05天)
【数据结构与算法】期末复习刷题日寄Part02(第06天到10天)
【数据结构与算法】期末复习刷题日寄Part03(第11天到15天)
第16天
1、在一个有向图的邻接表中,每个顶点单链表中结点的个数等于该顶点的( ):
A、出边数
B、入边数
C、度数
D、度数减1
2、在有n
个顶点的连通图中的任意一条简单路径,其长度不可能超过( ):
A、1
B、n/2
C、n-1
D、n
3、存储无向图的邻接矩阵一定是一个( ):
A、上三角矩阵
B、稀疏矩阵
C、对称矩阵
D、对角矩阵
4、深度为5的二叉树至多有多少个结点( ):
A、16
B、32
C、31
D、10
5、对于一个具有N
个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是():
A、N-1
B、N
C、(N-1)^2
D、N^2
6、若一个图中包含有 k
个连通分量,若要按照深度优先搜索的方法访问所有的结点,则必须调用()次深度优先搜索遍历的算法:
A、k
B、1
C、k-1
D、k+1
7、若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)}
,则从顶点A
开始对该图进行深度优先搜索,得到的顶点序列可能为():
A、A,B,C,F,D,E
B、A,C,F,D,E,B
C、A,B,D,C,F,E
D、A,B,D,F,E,C
8、若一个图的边集为{(A,B),(A,C),(B,D),(C,F),(D,E),(D,F)}
,则从顶点A
开始对该图进行广度优先搜索,得到的顶点序列可能为():
A、A,B,C,D,E,F
B、A,B,C,F,D,E
C、A,B,D,C,E,F
D、A,C,B,F,D,E
9、若一个图的边集为{<1,2>,<1,4>,<2,5>,<3,1>,<3,5>,<4,3>}
,则从顶点1
开始对该图进行深度优先搜索,得到的顶点序列可能为():
A、1,2,5,4,3
B、1,2,3,4,5
C、1,2,5,3,4
D、1,4,3,2,5
10、若一个图的边集为{<1,2>,<1,4>,<2,5>,<3,1>,<3,5>,<4,3>}
,则从顶点1
开始对该图进行广度优先搜索,得到的顶点序列可能为()::
A、1,2,3,4,5
B、1,2,4,3,5
C、1,2,4,5,3
D、1,4,2,5,3
第16天题目答案:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|
A | C | C | C | D | A | B | D | A | C |
第17天
1、由一个具有n
个顶点的连通图生成的最小生成树,具有()条边:
A、n
B、n-1
C、n+1
D、2n
2、已知一个有向图的边集为{<a,b>,<a,c>,<a,d>,<b,d>,<b,e>,<d,e>}
,则由该图产生的可能的拓扑序列为():
A、a,b,c,d,e
B、a,b,c,e,d
C、a,c,b,e,d
D、a,c,d,b,e
3、当图采用邻接表存储时,求最小生成树的Prim
算法的时间复杂度为:
A、
O
(
n
)
O(n)
O(n)
B、
O
(
n
+
e
)
O(n+e)
O(n+e)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
n
3
)
O(n^3)
O(n3)
4、我们用一个有向图来表示航空公司所有航班的航线。下列哪种算法最适合解决找给定两城市间最经济的飞行路线问题:
A、Dijkstra
算法
B、Kruskal
算法
C、深度优先搜索
D、拓扑排序算法
5、任何一个带权的无向连通图的最小生成树:
A、只有一棵
B、有一棵或多棵
C、一定有多棵
D、可能不存在
6、数据结构中Dijkstra
算法用来解决哪个问题:
A、关键路径
B、最短路径
C、拓扑排序
D、字符串排序
7、排序是根据()的大小重新安排各元素的顺序:
A、关键值
B、数组
C、元素件
D、结点
8、对序列(25,36,12,68,45,16,37,22)
采用希尔排序法,第一趟的排序结果(gap=4)
为:
A、25,16,12,22,45,36,37,68
B、12,16,22,25,36,37,45,68
C、12,16,25,22,37,36,45,68
9、若对n
个元素进行直接插入排序,在进行第i
趟排序时,假定元素r[i+1]
的插入位置为r[j]
,则需要移动元素的次数为():
A、j-i
B、i-j-1
C、i-j
D、i-j+1
10、若对n
个元素进行直接插入排序,则进行任一趟排序的过程中,为寻找插入位置而需要的时间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
n
)
O(n)
O(n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
第17天题目答案:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|
B | A | B | A | B | B | A | A | D | B |
第18天
1、在对n
个元素进行直接插入排序的过程中,共需要进行()趟:
A、n
B、n+1
C、n-1
D、2n
2、对n
个元素进行直接插入排序时间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
n
)
O(n)
O(n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
3、在对n
个元素进行直接插入排序的过程中,算法的空间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
n
l
o
g
2
n
)
O(nlog_{2}n)
O(nlog2n)
4、在对n
个元素进行冒泡排序的过程中,第一趟排序至多需要进行()对相邻元素之间的交换:
A、n
B、n-1
C、n+1
D、n/2
5、在对n
个元素进行冒泡排序的过程中,最好情况下的时间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
n
)
O(n)
O(n)
6、在对n
个元素进行快速排序的过程中,第一次划分最多需要移动()次元素,包括开始把支点元素移动到临时变量的一次在内:
A、n/2
B、n-1
C、n
D、n+1
7、在对n
个元素进行快速排序的过程中,最好情况下需要进行()趟:
A、n
B、n/2
C、
l
o
g
2
n
log_{2}n
log2n
D、2n
8、在对n
个元素进行快速排序的过程中,最坏情况下需要进行()趟:
A、n
B、n-1
C、n/2
D、
l
o
g
2
n
log_{2}n
log2n
9、在对n
个元素进行快速排序的过程中,平均情况下的时间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
n
l
o
g
2
n
)
O(nlog_{2}n)
O(nlog2n)
10、在对n
个元素进行快速排序的过程中,最坏情况下的时间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
n
l
o
g
2
n
)
O(nlog_{2}n)
O(nlog2n)
第18天题目答案:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|
C | C | A | B | D | D | C | B | D | C |
第19天
1、在对n
个元素进行快速排序的过程中,平均情况下的空间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
n
l
o
g
2
n
)
O(nlog_{2}n)
O(nlog2n)
2、为下列四个序列进行快速排序,各以第一个元素为基准进行第一次划分,则在该划分过程中需要移动元素次数最多的序列为():
A、1,3,5,7,9
B、9,7,5,3,1
C、5,3,1,7,9
D、5,7,9,1,3
3、假定对元素序列(7,3,5,9,1,12,8,15)
进行快速排序,则进行第一次划分后,得到的左区间中元素的个数为():
A、2
B、3
C、4
D、5
4、对n
个不同的关键字由小到大进行冒泡排序,在下列情况下比较的次数最多的是:
A、从小到达排列好的
B、从大到小排列好的
C、元素无序
D、元素基本有序
5、快速排序在下列()情况下最易发挥其长处:
A、被排序的数据中含有多个相同排序码
B、被排序的数据已基本有序
C、被排序的数据完全无序
D、被排序的数据中的最大值和最小值相差悬殊
6、在对n
个元素进行简单选择排序的过程中,需要进行()趟选择和交换:
A、n
B、n+1
C、n-1
D、n/2
7、在对n
个元素进行堆排序的过程中,时间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
n
l
o
g
2
n
)
O(nlog_{2}n)
O(nlog2n)
8、在对n
个元素进行堆排序的过程中,空间复杂度为():
A、
O
(
1
)
O(1)
O(1)
B、
O
(
l
o
g
2
n
)
O(log_{2}n)
O(log2n)
C、
O
(
n
2
)
O(n^2)
O(n2)
D、
O
(
n
l
o
g
2
n
)
O(nlog_{2}n)
O(nlog2n)
9、假定对元素序列(7,3,5,9,1,12)
进行堆排序,采用小根堆,则初始数据构成的初始堆为():
A、1,3,5,7,9,12
B、1,3,5,9,7,12
C、1,7,3,5,9,12
D、1,5,3,7,9,12
10、假定一个初始堆为1,5,3,9,12,7,15,10
,则进行第一趟堆排序后得到的结果为():
A、3,5,7,9,12,10,15,1
B、3,5,9,7,12,10,15,1
C、3,7,5,9,12,10,15,1
D、3,5,7,12,9,10,15,1
第19天题目答案:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|
B | D | B | B | C | C | D | A | B | A |
第20天
1、若对n
个元素进行归并排序,则进行归并排序的趟数为():
A、n
B、n-1
C、n/2
D、
⌈
l
o
g
2
n
⌉
\lceil log_{2}n\rceil
⌈log2n⌉
2、希尔排序的组内排序采用的是():
A、直接插入排序
B、快速排序
C、直接选择排序
D、冒泡排序
3、下列排序算法中,()不能保证每趟排序至少能将一个元素放到其最终的位置上:
A、希尔排序
B、快速排序
C、冒泡排序
D、堆排序
4、下列排序算法中,()不能保证每趟排序至少能将一个元素放到其最终的位置上:
A、希尔排序
B、快速排序
C、冒泡排序
D、堆排序
5、若一个元素序列基本有序,则选用()法较快:
A、直接插入排序
B、希尔排序
C、堆排序
D、快速排序
6、若要对1000个元素排序,要求既快又稳定,则最好采用()方法:
A、直接插入排序
B、归并排序
C、堆排序
D、快速排序
7、若要对1000个元素排序,要求既快又节省存储空间,则最好采用()方法:
A、直接插入排序
B、归并排序
C、堆排序
D、快速排序
8、在平均情况下速度最快的排序方法是():
A、简单选择排序
B、归并排序
C、堆排序
D、快速排序
9、下列排序算法中元素的移动次数和关键字的初始排列次序无关的是():
A、直接插入排序
B、起泡排序
C、基数排序
D、快速排序
10、从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为():
A、归并排序
B、冒泡排序
C、插入排序
D、选择排序
第20天题目答案:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|
D | A | A | A | A | B | C | D | C | D |