(99级,2002.12.31)
姓名 学号 班级 成绩
一、简答(16分)
1.简述分治方法、贪心方法、动态规划求解问题的一般策略和方法。
2.什么叫时间囿界于常数的运算和时间非囿界于常数的运算?为什么要做这样 的约定?
1
二、化简递推关系式(10分)
c n足够小,c是一个正常数 T(n) = 2T(n/2) + n 否则
三、采用背包问题的贪心求解策略(度量标准:按照pi/wi非增次序考虑物品)
求解0/1背包问题能否得到问题的最优解?举例说明。(16分)
2
四、对于标识符集合(a1,a2,a3)=(for,case,print),已知成功检索概率为P(1)=1/4,
P(2)=1/8,P(3)=1/6;不成功检索概率为Q(0)=1/8,Q(1)=1/12,Q(2)=1/6, Q(3)=1/12。用OBST算法计算C(i,j),W(i,j),R(i,j),并画出该树的形态。 (20分)
3
五、已知二元树的中根周游序列I和先根周游序列P。设计一个根据I和P构
造该二元树的算法,并分析算法的复杂度。(18分)
4
六、ALL-PATHS算法(算法4.3)求出的是所有结点间最短路径的成本矩阵。补
充该算法,使之能够输出每对结点(i,j)间的最短路径,并分析改进后算法的 时间和空间复杂度。(8分)
5
七、钱币兑零问题:设硬币面值有以下n种:c1>c2>…. >cn(如50分,25分,
10分,5分,1分)。已知纸币面值X,确定一个将X兑成硬币且使用最少 硬币数的方法。假设硬币的最小面值是1。要求分别使用: 1)贪心策略 2)动态规划方法
设计解决该问题的算法。给出算法描述。(12分)
6
因篇幅问题不能全部显示,请点此查看更多更全内容