4.1背包问题
1
部分背包问题的时间复杂度是O( )
A.n
B.n^2
C.nlogn
D.logn
正确答案:C
2
贪心算法的思想是依据贪婪准则作出决策,逐步构造解值。
A.√
B.×
正确答案:A
3
贪心算法的思想是寻求局部最优解,逐步达到全局最优解
A.√
B.×
正确答案:A
4
贪心算法总能找到可行解,并且是最优解。
A.√
B.×
正确答案:B
5
部分背包问题的证明方法是领先的方法
A.√
B.×
正确答案:A
4.2基本要素
1
原问题的最优解包含其子问题的最优解是最优子结构的性质。
A.√
B.×
正确答案:A
2
通过一系列局部最优的选择(贪心选择)达到全局最优是贪心选择的性质
A.√
B.×
正确答案:A
3
问题的全过程可以分为若干个阶段,而且在任何一个阶段x后的行为都只仅仅依赖于x的状态,而与x之前如何达到这种状态的方式无关。这是无后效性的性质
A.√
B.×
正确答案:A
4
负权的最短路问题可以使用Dijkstra算法计算。
A.√
B.×
正确答案:B
5
贪心法处理问题的核心是贪婪准则的选取
A.√
B.×
正确答案:A
6
贪心算法一般在开始贪心策略前会进行预处理,预处理后再进行最优化选择。
A.√
B.×
正确答案:A
4.3区间问题
1
区间调度问题贪心算法的时间复杂度是()
A.Q(n^2)
B.O(n)
C.W(n^2)
D.O(nlogn)
正确答案:D
2
交换论证方法把任意一个解逐渐变为贪心算法的解,不会影响其最优性。
A.√
B.×
正确答案:A
3
区间划分问题的证明方法是界的方法
A.√
B.×
正确答案:A
4
区间选点问题的预处理方法是按照区间的终点递增排序
A.√
B.×
正确答案:A
5
区间调度问题可以变换为最大独立集问题
A.√
B.×
正确答案:A
4.4 MST问题
1
Kruskal算法的时间复杂度是(),更适用于稀疏图。
A.nlogn
B.mlogn
C.n^2
D.mn
正确答案:B
2
最小生成树问题可以使用的算法有( )
A.Kruskal
B.Prim
C.Solim
D.Dijkstra
正确答案:A、B、C
3
MST是最小连通子图包含n 个顶点和n-1条边
A.√
B.×
正确答案:A
4
Prim算法的贪婪准则是选取割集中的最小边
A.√
B.×
正确答案:A
5
Kruskal算法的预处理是边权非递减排序。
A.√
B.×
正确答案:A
6
设S是顶点子集,e是正好一个端点在S中的边中的最小边,那么最小生成树中肯定包含e.
A.√
B.×
正确答案:A
4.5 哈夫曼编码
1
最优前缀码数属于( )
A.定长码
B.变长码
C.前缀码
D.哈夫曼编码
正确答案:B、C、D
2
前缀码中任一字符的0-1编码都不是其他字符的前缀
A.√
B.×
正确答案:A
3
哈夫曼编码给出现频率高的字符较短的编码,出现频率较低的字符以较长的编码,可以大大缩短总码长。
A.√
B.×
正确答案:A
4
哈夫曼编码的预处理是根据频率大小,构造优先队列。
A.√
B.×
正确答案:A