logo资料库

算法设计与分析试卷及答案.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
1. 按分治策略求解棋盘覆盖问题时,对于如图所示的 24×24 的特殊棋盘,共需要多少个 L 型骨牌; 并在棋盘上填写 L 型骨牌的覆盖情况。 2. 假设有 7 个物品,给出重量和价值。若这些物品均不能被分割,且背包容量 M=140,使用回 溯方法求解此 0-1 背包问题。请画出状态空间搜索树。 3. 假设有 7 个物品,它们的重量和价值如下表所示。若这些物品均可以被分割,且背包容量 M =140,使用贪心算法求解此背包问题。请写出求解策略和求解过程。 W(35,30,50,60,40,10,25)p(10,40,30,50,35,40,30) 4. 在给出的电路板中,阴影部分是已作了封锁标记的方格,请按照队列式分支限界法在图中确定 a 到 b 的最短布线方案,要求布线时只能沿直线或直角进行,在图中标出求得最优解时各方格 情况。 5. 画出字符表的哈夫曼编码对应的二叉树。 6. 已知 A k  ( a ij ( k ) ) i * r r i 1  ,k=1,2,3,4,5,6,r1=5,r2=10,r3=3,r4=8,r5=5,r6=20,r7=6,求 矩阵链积 A1×A2×A3×A4×A5×A6 的最佳求积顺序。 7. 给出城市网络图,售货员要从城市 1 出发,经过所有城市回到城市 1,画出该问题的解空间树, 描述出用优先队列式分支限界法求解时的搜索情况。表示出优先队列、当前扩展结点等的变化 情况。 8. 依据优先队列式分支限界法,求从 s 点到 t 点的单源最短路径,画出求得最优解的解空间树
一、假设有 7 个物品,它们的重量和价值如下表所示。若这些物品均不能被分割,且背包容量 M =150,使用回溯方法求解此背包问题。请写出状态空间搜索树(20 分)。 物品 A B C D 重量 35 价值 10 30 40 60 30 50 50 E 40 35 F 10 40 G 25 30 答:按照单位效益从大到小依次排列这 7 个物品为:FBGDECA。将它们的序号分别记为 1~7。 则可生产如下的状态空间搜索树。其中各个节点处的限界函数值通过如下方式求得:【排序 1 分】 x  1 a x 2  x  3 0 x  4 1 e x  5 0 a x  1 0 j 0 x  4 h 1 0 e i g x  3 1 a x  4 0 x  2 1 a d x 5 1  e x  6 0 f 1 x  4 a x  5 0 x  6 0 x  7 0 b c Q 1       40 40 30 50 35     b. 每个节点 1 分】 a. 40 40 30 50 30  40  60 c. 40 40 30 50 10 170  d. 60  60 40 40 30 35 30 40 40 50 35 30 e.               150 115 150 115  150 105 150 130 【状态空间搜索树及其计算过程 17 分,  190.625 (1,1,1,1, 7 8 ,0,0)  177.5 (1,1,1,1,0, 7 12 (1,1,1,1,0,0,1) ,0)  167.5 (1,1,1,0,1, 3 4 ,0)  175 (1,1,0,1,1, 1 3 ,0)
f. 40 40 50 35 10      150 130  35  170.71 (1,1,0,1,1,0, 4 7 ) g. 40 40 50 30 160     h. 40 40 35 30 10     40 30 50 35 30      40 30 50 35 30      i. j. (1,1,0,1,0,1,0) 146.85 (1,1,0,0,1,1, 2 7 ) 167.5 (1,0,1,1,1, 5 12 ,0)  157.5 (0,1,1,1,1, 1 12 ,0)   150 140  35 150 125  60 150 145   60 在 Q1 处获得该问题的最优解为 (1,1,1,1,0,0,1) ,背包效益为 170。即在背包中装入物品 F、B、G、 D、A 时达到最大效益,为 170,重量为 150。【结论 2 分】 一、 已知 A k  ( a ij ( k ) ) i * r r i 1  ,k=1,2,3,4,5,6,r1=5,r2=10,r3=3,r4=12,r5=5,r6=50,r7=6, 求矩阵链积 A1×A2×A3×A4×A5×A6 的最佳求积顺序。(要求:给出计算步骤)(20 分) 答:使用动态规划算法进行求解。 求解矩阵为:【每个矩阵 18 分】 2 150 0 2 1 0 3 330 360 0 3 2 2 0 4 405 330 180 0 4 2 2 3 0 1 0 1 0 1 2 3 4 5 6 1 2 3 4 5 6 5 1655 2430 930 3000 0 5 4 2 4 4 0 6 2010 1950 1770 1860 1500 0 6 2 2 4 4 5 0 因此,最佳乘积序列为(A1A2)((A3A4)(A5A6)),共执行乘法 2010 次。【结论 2 分】
二、 假设有 7 个物品,它们的重量和价值如下表所示。若这些物品均可以被分割,且背包容 量 M=150,如果使用贪心方法求解此背包问题,请回答:(20 分)。 (1) 对各个物品进行排序时,依据的标准都有哪些? (2) 使用上述标准分别对 7 个物品进行排序,并给出利用各个顺序进行贪心求解时获得解。 (3) 上述解中哪个是最优的? 物品 A B C D E 重量 35 价值 10 30 40 60 30 50 50 40 35 F 10 40 G 25 30 答: (1)标准:重量、价值和单位价值。【3 分,每个 1 分】 (2)使用重量从小到大:FGBAEDC。得到贪心解为:FGBAE 全部放入,而 D 放入 20%,得到 价值为 165。【5 分】 使用价值从大到小:DFBEGCA,得到贪心解为:DFBE 全部放入,而 G 放入 80%,得到价值为: 189。【5 分】 使用单位价值从大到小:FBGDECA,得到贪心解为:FBGD 全部放入,而 E 放入 87.5%,得到价 值为 190.625。【5 分】 (3)显然使用单位价值作为标准得到的是最优解。【2 分】 三、 对于下图使用 Dijkstra 算法求由顶点 a 到其他各个顶点的最短路径。并给出求各个顶点对 之间的最短路径的算法思想。(20 分)。 答:三、用 V1 表示已经找到最短路径的顶点,V2 表示与 V1 中某个顶点相邻接且不在 V1 中的顶点; E1 表示加入到最短路径中的边,E2 为与 V1 中的顶点相邻接且距离最短的路径。【1 分】
V2 步骤 V1 {b} {a} 1. {d} {a,b} 2. {c,f} 3. {a,b,d} {f} {a,b,d,c} 4. {e} {a,b,c,d,f} 5. {g} 6. {a,b,c,d,e,f} {a,b,c,d,e,f,g} {h} 7. 8. {a,b,c,d,e,f,g,h} {} 结果:从 a 到 h 的最短路径为 a E1 {} {ab} {ab,bd} {ab,bd} {ab,bd,dc,df} {ab,bd,dc,df,fe} {ab,bd,dc,df,fe,eg} {ab,bd,de,df,fe,eg,gh}       ,权值为 18。【1 分】 E2 {ab} {bd} {dc,df} {df} {fe} {eg} {gh} {} 【以上每步 2 分】 b d f e g h 求所有顶点对之间的最短路径可以使用 Dijkstra 算法,使其起始节点从 a 循环到 h,每次求起 始节点到其他节点的最短路径,最终可以求得所有顶点对之间的最短路径。【2 分】
分享到:
收藏