ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:441.54KB ,
资源ID:4262265      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(算法分析与设计实验指导书.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

算法分析与设计实验指导书.doc

1、算法分析与设计本书是为配合计算机算法分析与设计而编写的上机指导,其目的是使学生消化理论知识,加深对讲授内容的理解,增强算法分析与设计实践动手能力。上机实验注意事项如下:(1)课前认真做好预习,准备好实验工具,熟悉实验流程和手段。(3)课中根据实验指导书,结合课本实例进行编程实验。实验时,一人一组,独立上机调试,上机时出现疑问,可以举手询问实验指导老师,或者与周边同学小声讨论,鼓励独立解决问题。(4)课后准时按质按量整理出实验报告。实验报告应独立完毕,拒绝抄袭。实验内容覆盖:递归与分治策略、动态规划、贪心算法、回溯法、分支限界法等。实验一 递归与分治策略一 实验目的与规定(1) 理解和掌握递归与

2、分治策略的基本原理。(2) 理解课本中的示例代码。(3) 调试代码通过。二 递归与分治的基本思想(1) 递归与分治方法。递归与分治方法的基本思想是:将一个难以解决的大问题,分割成一些规模较小的、相同的子问题,以便各个击破,分而治之。(2) 递归。递归问题分析时,要把握如下两个要素:l 递归出口。l 递归公式。其中:l 递归出口给出了最简朴情况下问题的解。l 递归公式则给出了一般意义下大问题(原问题)和小问题(子问题)之间的递归关系。通过递归公式,一个难以解决的大问题会随着递归不断分解为多个小问题,小问题继续递归变为更小的小问题,直到最后到达递归出口得到解。三 实验代码分析和说明本部分实验,需完

3、毕“棋盘覆盖”(课本P20)和“快速排序”(课本P22)两个问题。3.1 棋盘覆盖1. 棋盘覆盖问题的思绪:(1) 一方面,将原始的棋盘覆盖问题看作最初的大问题。(2) 然后,将棋盘的行、列一分为二,从而将原始的大棋盘分为四个同样大小的小棋盘。(3) 接着,采用P21的图2-5中合适的L型骨牌,覆盖原始大棋盘的中心位置,将四个同样大小的小棋盘都转化为特殊棋盘。(4) 最后,对四个特殊小棋盘进行递归解决即可。以上环节(2)和环节(3)合起来,完毕了将大问题划分为小问题的过程,特别需要注意的是:小问题必须要和大问题相同或相似,否则无法递归。具体到本例当中,注意环节(3)选取L型骨牌时,必须要可以将

4、原始大棋盘转化为四个小的特殊棋盘。假如不是转化为四个小的特殊棋盘,显然L型骨牌选择是不对的,由于此时无法进行递归解决。小问题必须和大问题相同或者相似,是采用递归与分治方法的重要一点,必须掌握。2. P21代码的说明。(1) ChessBoard的输入参数:tr是左上角方格的行坐标(table row),tc是左上角方格的列坐标(table column);dr是特殊方格的行坐标,dc是特殊方格的列坐标;size是棋盘大小。(2) 以覆盖左上角为例,if (dr tr+s & dc tc + s)该判断条件判断特殊方格是否在左上角小棋盘中。假如在,就直接进行递归,即:ChessBoard(tr,

5、 tc, dr, dc, s)。假如不在,那么一方面用t号骨牌覆盖(具体选择P21中的哪种骨牌,参见前述说明)。覆盖之后,左上角的小棋盘就变成了特殊小棋盘,此时就可以递归解决了,即:ChessBoard(tr, tc, tr+s-1, tc+s-1, s)。【问题】前后两次递归,ChessBoard的参数为什么这样设立?3.2 快速排序1. 快速排序的基本思绪。假设需要排序的数存储在数组“ap, ap+1, , ar”中。为了描述方便,将上述数组简记为:ap:r。(1) 一方面,以ap为基准元素,将ap:r划分为三段,分别是:ap: q-1, aq, aq+1: r。其中,ap: q-1中的任

6、何一个元素都小于等于aq;aq小于等于aq+1: r中的任何一个元素。注意:算法工作时,以ap为基准进行ap:r划分;aq是在划分完毕时拟定的。(2) 对划分得到的ap: q-1和aq+1: r类似地,进行划分。(3) 注意到ap: q-1, aq, aq+1: r的关系,不要任何计算,数组ap: r就已经自动排好序。【问题】快速排序的上述思想中,是如何体现“将大问题划分为相同或相似的小问题”的?四 实验内容(1) 完毕代码,并调试通过。(2) 回答实验指导书中的问题。(3) 体会递归与分治策略的基本思想,以及在编程中如何实现。实验二 动态规划一 实验目的与规定(1) 理解动态规划的基本思想。

7、(2) 理解课本中示例代码并调试通过。(3) 根据自己的理解,回答实验指导书中的问题。二 动态规划的基本思想(1) 动态规划问题需要满足两个特性,分别是:l 最优子结构性质。即:大问题的最优解当中,包含了子问题的最优解。这是运用动态规划解决问题的最关键特性。l 重叠子问题。即:动态规划问题中,许多子问题被反复计算。因此,动态规划将这些需要反复计算的子问题保存下来,当下次需要的时候,只需要查询即可,从而可以提高算法的效率。(2) 动态规划本质上也是一种“递归与分治”的思想。只是,与普通的递归与分治问题相比,动态规划问题具有自己此外的特性,即:最优子结构性质+重叠子问题,从而在递归与分治的基础上,

8、再采用特殊手段(如记录重叠子问题),可以进一步提高效率。也就是说,动态规划问题是一种特殊的“递归与分治”问题。(3) 动态规划方法有一种变形,叫做备忘录方法。两者的关系是:备忘录方法是动态规划的一种变形,两者的思想是一致的。两者的区别是:动态规划方法采用自底向上的方法,备忘录方法采用自顶向下的方法。两者的合用场景是:假如一个问题的所有子问题都需要至少求解一次时,采用动态规划方法较好;假如一个问题中只是部分子问题需规定解时,采用备忘录方法较好。三 实验代码分析和说明本部分实验完毕“矩阵连乘”问题(P45-P48)和“0-1背包”问题(P71-73)。3.1 矩阵连乘问题1. 矩阵连乘问题基本思想

9、。假设有任意矩阵Ai*Ai+1*Aj共有(j-i+1)个矩阵相乘。为了描述方便,记为Ai:j。即:Ai:j= Ai*Ai+1*Aj。显然,Ai:j一定是有一个最优的计算顺序的,虽然不知道这个最优顺序是多少,但是不妨假设是从Ak处断开。换句话说,对于Ai:j,其最优计算顺序为: (Ai*Ak) * (Ak+1*Aj)。显然,上述计算次数由三部分构成。构成1:(Ai*Ak)的计算次数,用X表达;构成2:(Ak+1*Aj)的计算次数,用Y表达;构成3:(Ai*Ak)和(Ak+1*Aj)的乘积,也就是(Ai的行数*Ak的列数*Aj的列数)。用公式表达如下:Ai:j的计算次数 = X + Y + Ai的

10、行数*Ak的列数*Aj的列数注意到:由于已经固定从Ak处断开,因此构成3是一个定值。因此,要Ai:j的计算次数最少,就需要X和Y分别是最小。这说明:原问题Ai:j的最优解包含了子问题Ai:k和子问题Ak+1:j的最优解。因此,可以使用动态规划算法。2. 动态规划算法的递归公式假如用mij表达Ai:j的最优值,那么有:(1) 假如i=j,Ai:j是单独一个矩阵,不需要计算,因此,mij=0;(2) 假如i=w1) m1c = max (m2c, m2c-w1 + v1);上述语句和P73代码语义是一致的,这也是赋值的含义。【问题1】理解递归公式的含义。【问题2】算法自身有没有做无用的计算,为什么?四 实验内容(1) 完毕代码,并调试通过。(2) 回答实验指导书中的问题。(3) 理解动态规划的基本思想(本质仍然是递归与分治,但满足最优子结构性质,从而可以用动态规划方法进一步提高效率。最优子结构性质需要证明,证明往往采用反证法),以及如何编程实现(分为三个环节:一方面,证明最优子结构性质;另一方面,寻找大问题和小问题之间的递归关系;最后,将递归关系进行形式化表达,并编程实现)。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服