算法设计与分析试卷参考答案与评分标准.docVIP

  • 12
  • 0
  • 约 2页
  • 2017-08-09 发布于重庆
  • 举报

算法设计与分析试卷参考答案与评分标准.doc

算法设计与分析试卷参考答案与评分标准.doc

算法设计与分析试卷参考答案与评分标准 (1)和(2)只需给出c和n0的取值即可,(3)证明如下 利用Master定理求解。 如果O里面带系数,扣3分。没有说明多项式小于,扣2分。 时间复杂性 T(n)=2T(n/2)+O(n) T(n)=O(nlogn) 4. 往证B(T)=B(T’)+f(x)+f(y). (v(C-{x,y}, dT(v)=dT’(v), f(v)dT(v)=f(v)dT’(v). 由于 dT(x)=dT(y)=dT’(z)+1, f(x)dT(x)+f(y)dT(y) =(f(x)+f(y))(dT’(z)+1) =(f(x)+f(y))dT’(z)+(f(x)+f(y)) 由于 f(x)+f(y)=f(z), f(x)dT(x)+f(y)dT(y)=f(z)dT’(z)+(f(x)+f(y)). 于是B(T)=B(T’)+f(x)+f(y). 若T’不是C’的优化前缀编码树, 则必存在T’’,使B(T’’)B(T’). 因为z是C’中字符,它必为T’’中的叶子. 把结点x与y加入T’’,作为z的子结点, 则得到C的一个如下前缀编码树T’’’: T’’’代价为: B(T’’’)= ……+(f(x)+f(y))(dT’’(z)+1) = ……+f(z)dT’’(z)+(f(x)+f(y)) (dT’’(z)=dT’(z)) = B(T’’)+f(x)+f(y)B(T’)+f(x)+f(y)= B(T) 与T是优化的矛盾,故T’是C’的优化编码树. 设T是C的优化前缀树,且b和c是具有最大深度的 两个兄弟字符: 不失一般性,设f(b)(f(c), f(x)(f(y). 因x与y是具有 最低频率的字符, f(b)(f(x), f(c)(f(y).交换T的b和x, 从T构造T( : 往证T((是最优化前缀树. B(T)-B(T() = = f(x)dT(x) + f(b)dT(b) - f(x)dT’(x) - f(b)dT’(b) = f(x)dT(x) + f(b)dT(b) - f(x)dT(b) - f(b)dT(x) = (f(b)-f(x))(dT(b)-dT(x)). ∵ f(b)(f(x), dT(b)(dT(x) (因为b的深度最大) ∴ B(T)-B(T’)(0, B(T)(B(T’) 同理可证B(T’)(B(T’’). 于是B(T)(B(T’’). 由于T是最优化的,所以B(T)(B(T’’). 于是, B(T)=B(T’’),T’’是C的最优化前缀编码树. 在T’’中, x和y具有相同长度编码, 且仅最后一位不同. 5. 最大团问题 对于无向图G,一个团即图G的一个完全子图 最大团问题即是否可以找出一个团,使得其包含的顶点个数大于k 顶点覆盖问题 对于无向图G=(V,E),是否可以找出子集V’,使得如果边(u,v) ∈E,则u ∈V’或v ∈V’,且|V’|k 已知最大团问题是一个NPC问题,试证明顶点覆盖问题也是NPC问题 首先易证顶点覆盖是一个NP问题。 为最大团的图G构造一个图G’ 然后欲证图G有一个大小为k的团当且仅当图G’ 有一个大小为|V|-k的顶点覆盖 多项式规约说明:顶点覆盖不会比最大团问题容易! 如果最大团是NPC,顶点覆盖也是NPC。 6. (1)KMP算法、BM算法、Z-box方法均得分 (2) 动态规划方法。时间复杂性为O(mn), 注:动态递归方程中没有0,扣2分;递归没有从最后一行最大数开始。扣2分

文档评论(0)

1亿VIP精品文档

相关文档