- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(算法实验报告
贵州大学计算机科学与技术学院
计算机科学与技术系上机实验报告
课程名称:算法设计与分析 班级:软件101 实验日期:2012-10-23 姓名: 学号: 指导教师: 实验序号:一 实验成绩: 一、实验名称
分治算法实验 - 棋盘覆盖问题 二、实验目的及要求
1、熟悉递归算法编写;
2、理解分治算法的特点;
3、掌握分治算法的基本结构。 三、实验环境
Visual C++ 四、实验内容
根据教材上分析的棋盘覆盖问题的求解思路,进行验证性实验;
要求完成棋盘覆盖问题的输入、分治求解、输出。有余力的同学尝试消去递归求解。 五、算法描述及实验步骤
分治算法原理:
分治算法将大的分解成形状结构相同的子问题,并且不断递归地分解,直到子问题规模小到可以直接求解。
棋盘覆盖问题描述:
在一个2k x 2k个方格组成的棋盘中恰有一个方格与其他的不同称为特殊方格,想要求利用四种L型骨牌(每个骨牌可覆盖三个方格)不相互重叠覆盖的将除了特殊方格外的其他方格覆盖。
六、调试过程及实验结果
详细记录程序在调试过程中出现的问题及解决方法。
记录程序执行的结果。
七、总结
对上机实践结果进行分析,问题回答,上机的心得体会及改进意见。
通过对本实验的学习,对分治算法有了进一步的认识,对棋盘覆盖问题和其他分治问题进行了对比。 八、附录
源程序(核心代码)清单或使用说明书,可另附纸
贵州大学计算机科学与技术学院
计算机科学与技术系上机实验报告
课程名称:算法设计与分析 班级:软件101 实验日期:2012-11-6 姓名: 学号: 指导教师: 实验序号:二 实验成绩: 一、实验名称
动态规划实验 - 滑雪问题 二、实验目的及要求
1、学会使用在线测评的算法题目评分系统;
2、通过直观的应用问题,加深对动态规划算法的理解; 三、实验环境
任意C或C++编写调试工具,北京大学ICPC在线测评系统POJ 四、实验内容
1、找到题号为1088的题目-滑雪,阅读题目,建立其最优解的递归表达式;
3、使用备忘录式的动态规划算法,实现本题;
4、进行简单测试,完成之后提交到POJ系统。 五、算法描述及实验步骤
动态规划算法原理:
分治算法将大的问题变成小的问题来解决,但是如果划分过程中出现重叠子问题,就可能导致大量的重复计算。为了避免这些重复的计算,可以考虑的一个办法就是动态规划算法。
为了使用动态规划算法,问题还必须具备最优子结构,即问题的最优解包含了子问题的最优解。
滑雪问题描述:
Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是最长的一条。
Input
输入的第一行表示区域的行数R和列数C(1 = R,C = 100)。下面是R行,每行有C个整数,代表高度h,0=h=10000。
Output
输出最长区域的长度。
ans中
int main(){...}
分析出算法复杂度
因为DP(int i,int j)函数每调用一次,都要对i,j周围的四个数进行比较,这样的工作要重复进行,故需要O(n2)的时间。
六、调试过程及实验结果
详细记录程序在调试过程中出现的问题及解决方法。
记录程序执行的结果。
输入5行5列数,结果如下:
七、总结
对上机实践结果进行分析,问题回答,上机的心得体会及改进意见。
通过本实验的学习,我对递归算法有了进一步的了解,在验证试验结果时,首先输入5行5列的数组大小和数据,主函数调用DP(int i,int j)函数,求出最长的路径;该算法的在时间复杂度上得进一步改进,如果对于大一点的数据,遍历效率就不高了。
八、附录
源程序(核心代码)清单或使用说明书,可另附纸
贵州大学计算机科学与技术学院
计算机科学与技术系上机实验报告
课程名称:算法设计与分析 班级:软件101 实验日期:2012-10-20 姓名: 学号:1008060028 指导教师: 实验序号:三 实验成绩: 一、实验名称
贪心算法实验 - 包装问题 二、实验目的及要
您可能关注的文档
- [月饼做法.docx
- [有在此.docx
- (试题复习.doc
- [有效鉴别是否患有脊髓型颈椎病的方法.docx
- (试题多选.doc
- [有机食品概论.docx
- (试题完.doc
- (内蒙古莫旗2014协警考试真题下载.doc
- [有趣的图形.docx
- (试题带答案2.doc
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)