- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2015算法分析与设计实验指导书
太 原 工 业 学 院
实 验 指 导 书
院(系)
实验课程
实验教师
2015年6月9日
目录
实验一、递归与分治算法实验 3
一、实验类型 3
二、实验目的与任务 3
三、预习要求 3
四、实验基本原理 3
五、实验内容 3
六、实验步骤 4
实验二 动态规划算法实验 5
一、实验类型 5
二、实验目的与任务 5
三、预习要求 5
四、实验基本原理 5
五、实验内容 6
六、实验步骤 6
实验三、贪心算法实验 7
一、实验类型 7
二、实验目的与任务 7
三、预习要求 7
四、实验基本原理 7
五、实验内容 8
六、实验步骤 8
实验四、回溯算法实验 9
一、实验类型 9
二、实验目的与任务 9
三、预习要求 9
四、实验基本原理 9
五、实验内容 9
六、实验步骤 10
实验一、递归与分治算法实验
一、实验类型
综合性
二、实验目的与任务
1. 熟悉Java上机环境;
2. 基本掌握递归算法的原理方法。
三、预习要求
1. 认真阅读算法设计教材,了解递归算法原理;
2. 设计用递归算法求解阶乘函数、Ackerman函数、排列问题、整数划分问题的递归程序。
四、实验基本原理
分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。
分治法解题的一般步骤:
1.分解,将要解决的问题划分成若干规模较小的同类问题;
2.求解,当子问题划分得足够小时,用较简单的方法解决;
3.合并,按原问题的要求,将子问题的解逐层合并构成原问题的解。
一言以蔽之:分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
由此可知,分治法求解很自然地可用一个递归过程来表示。分治与递归像一对孪生兄弟,经常同时应用在算法设计中,并由此产生许多高效算法。
五、实验内容
1.将正整数n表示成一系列正整数之和: n=n1+n2+…+nk, 其中n1≥n2≥…≥nk≥1,k≥1。正整数n的这种表示称为正整数n的划分。求正整数n的不同划分个数。
2.设计一个递归算法生成n个元素{r1,r2,…,rn}的全排列。
3.Hanoi塔问题。设a,b,c是3个塔座。开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为1,2,…,n,现要求将塔座a上的圆盘移到塔座b上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:
规则1:每次只能移动1个圆盘;
规则2:任何时刻都不允许将较大的圆盘压在较小的圆盘之上;
规则3:在满足移动规则1和2的前提下,可将圆盘移至a,b,c中任一塔座上。
六、实验步骤
1. 分析问题,根据问题的描述分析出该问题的递归形式;
2. 根据问题的递归形式,写出问题的算法;
3. 使用java语言实现算法,添加必要的初始数据和结果输出;
4. 调试程序,直到结果正确为止;
5. 完成实验报告,实验报告主要有以下几部分:
(1)阐述实验目的和实验内容;
(2)阐述求解问题的算法原理(算法流程图和算法描述);
(3)提交实验程序的功能模块;
(4)记录最终测试数据和测试结果。
实验二 动态规划算法实验
一、实验类型
综合性实验
二、实验目的与任务
1. 掌握动态规划算法的基本方法;
2. 掌握动态规划算法中最优子结构的分析;
3. 掌握递归求解最优值的方法;
4. 掌握最优解的构造。
三、预习要求
1. 认真阅读算法设计教材,了解动态规划原理;
2. 掌握矩阵连乘、最长公共子序列以及电路布线问题的最优子结构性质、子问题递归形式和最优值的计算方法。
四、实验基本原理
动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,希望找到具有最优值的解。
动态规划算法与分治法类似,其基本思想也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。
由于动态规划解决的问题多数有重叠子问题这个特点,为减少重复计算,对每一个子问题只解一次,将其不同阶段的不同状态保存在一个二维数组中。
与分治法最大的差别是:适合于用动态规划法求解的问题,经分解后得到的子问题往往不是互相独立的(即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解)。
能采用动态规划求解的问题的一般要具有3个性质:
1.最优子结构:如果问题的最优解
您可能关注的文档
- 胎盘不是高级营养品.doc
- 苏教版六年级下册第二单元音乐教案(新).doc
- 踏上信息高速公路教案.doc
- 谈成衣设计中极简主义的表现.docx
- 苏教版六年级语文上册第一单元知识点整理.docx
- 送表矿区农村生活垃圾处理无害化处理探索与实践(定稿).doc
- 司法体制改革的意义.doc
- 书籍设计结构内容.doc
- 四年级研究性学习学科教案.doc
- 四川亨利绵阳财经学校教师高层住宅AB栋工程.doc
- 2015版汽车类考试题库(900题).doc
- 2016-2017学年重庆万州二中高二下学期入学考试试卷生物.doc
- 2016-2017学年人教版地理必修三同步练习52《产业转移──以东亚为例》1Word版含答案.doc
- 2016-2017-1花卉学实践教案.doc
- 2016-2017学年中图版必修三动物稳态维持的生理基础单元测试.doc
- 2016615物业管理案例分析--24题.docx
- 201612市场营销.docx
- 201622海西职校2015—2016学年文明寝室评选方案.doc
- 2015生物必修三《环境与稳态》专题复习(高考命题人杨峰老师命题).doc
- 201693华师一附中高三理综训练7(试题).doc
文档评论(0)