ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:88.66KB ,
资源ID:16781073      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16781073.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(算法设计与分析答案参考Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

算法设计与分析答案参考Word文档下载推荐.docx

1、1. a b ab2. a,b d ab bd3. a,b,d c,f ab,bd dc,df4. a,b,d,c f ab,bd df5. a,b,c,d,f e ab,bd,dc,df fe6. a,b,c,d,e,f g ab,bd,dc,df,fe eg7. a,b,c,d,e,f,g h ab,bd,dc,df,fe,eg gh8. a,b,c,d,e,f,g,h ab,bd,de,df,fe,eg,gh 结果:从a到h的最短路径为,权值为18。求所有顶点对之间的最短路径可以使用Dijkstra算法,使其起始节点从a循环到h,每次求起始节点到其他节点的最短路径,最终可以求得所有顶点对

2、之间的最短路径。补充例题:求A到各个顶点的最短路径:4、用动态规划策略求解最长公共子序列问题: (1)给出计算最优值的递归方程。 (2)给定两个序列X=B,C,D,A,Y=A,B,C,B,请采用动态规划策略求出其最长公共子序列,要求给出过程。(1) (2)0 0 0 00 0 1 1 10 0 1 2 20 0 1 2 20 1 1 2 2 最长公共子序列:5、对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的边。说明该算法的贪心策略和算法的基本思想,并简要分析算法的时间复杂度。答:TE=(3,4), (2,3),(1

3、,5),(4,6)(4,5) 贪心策略是每次都在连接两个不同连通分量的边中选权值最小的边。基本思想:首先将图中所有顶点都放到生成树中,然后每次都在连接两个不同连通分量的边中选权值最小的边,将其放入生成树中,直到生成树中有n-1条边。时间复杂度为:O(eloge) 6、快速排序算法对下列实例排序,算法执行过程中,写出数组A第一次被分割的过程。 A=(65,70,75,80,85,55,50,2)第一个分割元素为657、对于下图,写出图着色算法得出一种着色方案的过程。 K1X1 1 , 返回 trueX21,返回false; X2X2+1=2, 返回 trueX31 ,返回false; X3X3+

4、1=2, 返回false;X3X3+1=3, 返回 true X41, 返回false; X4X4+1=2, 返回false;X4X4+1=3, 返回 true找到一个解 (1,2,3,3)8、有n个物品,已知n=7, 利润为P=(10,5,15,7,6,18,3),重量W=(2,3,5,7,1,4,1),背包容积M=15,物品只能选择全部装入背包或不装入背包,设计贪心算法,并讨论是否可获最优解。定义结构体数组G将物品编号、利润、重量作为一个结构体例如Gk=1,10,2 求最优解按利润/重量的递减序有:5,6,1,6、1,10,2,56,18,4,9/2 、3,15,5,3 、7,3,1,3、

5、2,5,3,5/3 、4,7,7,1 算法: procedure KNAPSACK(P W M X n) /P(1 n)和W(1 n)分别含有按P(i)/W(i)P(i+1)/W(i+1)排序的n件物品的效益值和重量。M是背包的容量大小 而x(1 n)是解向量/ real P(1 n) W(1 n) X(1 n) M cu integer i n X0 /将解向量初始化为零/ cuM /cu是背包剩余容量/ for i1 to n do if W(i)cu then exit endif X(i) 1 cucu-W(i) repeat end GREEDY-KNAPSACK 根据算法得出的解:

6、X=1,1,1,1,1,0,0获利润52 而解1,1,1,1, 0, 1,0 可获利润54 ,因此贪心法不一定获得最优解。9、排序和查找是经常遇到的问题。按照要求完成以下各题:(1) 对数组A=15,29,135,18,32,1,27,25,5,用快速排序方法将其排成递减序。(2) 给出上述算法的递归算法。(3) 使用上述算法对(1)所得到的结果搜索如下元素,并给出搜索过程:18,31,135。(1)第一步:15 29 135 18 32 1 27 25 5 第二步:29 135 18 32 27 25 15 1 5第三步:135 32 29 18 27 25 15 5 1第四步:135 32

7、 29 27 25 18 15 5 1(2)输入:递减数组Aleft:right,待搜索元素v。输出:v在A中的位置pos,或者不在A中的消息(-1)。步骤:int BinarySearch(int A,int left,int right,int v) int mid; if (leftAmid) return BinarySearch(A,left,mid-1,v); else return BinarySearch(A,mid+1,right,v); else return -1;(3)搜索18:首先与27比较,1827,在前半部分搜索;再次32比较,3129,此时只有一个元素,未找到,

8、返回-1。 搜索135:首先与27比较,135再次32比较,13532,在前半部分搜索;与135比较,相同,返回0。10、假设有7个物品,它们的重量和价值如下表所示。若这些物品均不能被分割,且背包容量M150,使用回溯方法求解此背包问题。请写出状态空间搜索树。物品ABCDEFG重量35306050401025价值(1)求所有顶点对之间的最短路径可以使用Dijkstra算法,使其起始节点从a循环到h,每次求起始节点到其他节点的最短路径,最终可以求得所有顶点对之间的最短路径。(2)按照单位效益从大到小依次排列这7个物品为:FBGDECA。将它们的序号分别记为17。则可生产如下的状态空间搜索树。其中各个节点处的限界函数值通过如下方式求得:ab. c d. e. f. g. h. i.j. 在Q1处获得该问题的最优解为,背包效益为170。即在背包中装入物品F、B、G、D、A时达到最大效益,为170,重量为150。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1