2006-2007学年第二学期《计算机算法设计与分析》试题
院系:软件学院 专业:软件工程 年级:2004级
(参)
一.简答题(共10分) (5分)
二.计算题(35分)
1.(6分) 对下列各组函数f(n)和g(n),确定f(n)=O(g(n))或f(n)=Ω(g(n))或f(n)=
θ(g(n))。
(1) f(n)=3n,g(n)=2n
(2) f(n)=log n + 5,g(n)=log n2
(3) f(n)=log n,g(n)=n
答:
(1) f(n) = Ω(g(n)) (2分) (2) f(n) = θ(g(n)) (2分) (3) f(n) = O(g(n)) (2分) 2.(8分)采用动态规划策略,计算a={5,-3,7,-4,-5,9,-2,10,-3,2}的最大子段和,并给出这个最大子段和的起始下标和终止下标。[设数组a中的元素下标从1开始。]要求给出过程。 答:
b[1]=5;
b[2]=max{b[1]+a[2],a[2]}=max{2,-3}=2 b[3]=max{b[2]+a[3],a[3]}=max{9,7}=9 b[4]=max{b[3]+a[4],a[4]}=max{5,-4}=5 b[5]=max{b[4]+a[5],a[5]}=max{0,-5}=0 b[6]=max{b[5]+a[6],a[6]}=max{9,9}=9 b[7]=max{b[6]+a[7],a[7]}=max{7,-2}=7 b[8]=max{b[7]+a[8],a[8]}=max{17,10}=17 b[9]=max{b[8]+a[9],a[9]}=max{14,-3}=14 b[10]=max{b[9]+a[10],a[10]}=max{16,2}=16 (上述每两行1分,共5分) 最大子段和为17(1分)
(若数组下标从1开始)起始下标:6(1分),终止下标:8(1分) (若数组下标从0开始)起始下标:5(0.5分),终止下标:7(0.5分) 3.(11分)设有3件工作分配给3个人,将工作i分配给第j个人所花的费用为Cij,现将为每一个人都分配1件不同的工作,并使总费用达到最小。设:
1
8C2323434 5要求:
(1)画出该问题的解空间树;(6分)
(2)写出该问题的剪枝策略(限界条件);(1分)
(3)按回溯法搜索解空间树,并利用剪枝策略对应该剪掉的子树打;(2分) (4)最终给出该问题的最优值和最优解。(2分) 答:
(1)
1 2 3 2 3 1 3 1 2
1 1 2 2 3 3
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务