网站大量收购独家精品文档,联系QQ:2885784924

.算法实验二(题库)二.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.算法实验二(题库)二

南通大学 算法设计与分析 实验报告 姓 名: 鹿 瑶 班 级: 软件工程 122 学 号: 1213042037 日 期: 2014 . 12 . 16 目录 Question-2编程实现循环赛日程表(分治法)…………………… 3 Question-3编程实现最长公共子序列(动态规划)……………… 3 Question-4 The Triangle(动态规划)………………………………4 Question-5超级台阶(动态规划)………………………………… 5 Question-6最大和(动态规划)…………………………………… 6 Question-7 剑客决斗(动态规划)…………………………………7 Question-8最长上升子序列问题(动态规划)…………………… 8 Question-9独木舟上的旅行(贪婪法)…………………………… 9 Question-10背包问题(贪心算法)……………………………… 10 Question-11田忌赛马(动规中的贪心算法)…………………… 10 Question-12硬币问题(贪心算法)……………………………… 11 附:源代码……………………………………………………………12 Question-2编程实现循环赛日程表(分治法) 描述 设有 n=2 k 个运动员要进行网球循环赛,先要设计一个满足一下要求的比赛日常表: (1)每个选手必须与其他 n-1 个选手各赛一次 (2)每个选手一天只能赛一次 (3)循环赛一共进行 n-1 天 算法设计 将n*n个格子,也就是n阶方阵从中间十字划分,一次划分分成四块,令其右上角和左下角的数据完全相同,右下角和左上角的数据完全相同;每次划分都得到了若干个n/2阶的方阵,然后对这些方阵进行操作,继续令其右上角和左下角的数据完全相同,右下角和左上角的数据完全相同,如此循环下去,直至n2时结束递归。 Question-3编程实现最长公共子序列(动态规划) 描述 如题,需要你做的就是写一个程序,得出最长公共子序列。 tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为 LCS(Longest Common Subsequence) 。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是 所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。 输入 第一行给出一个整数 N(0N100)表示待测数据组数 接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于 1000. 算法设计 由最长公共子序列问题的最优子结构性质可知,要找出X=x1, x2, …, xm和Y=y1, y2, …, yn的最长公共子序列,可按以下方式递归地进行:当xm=yn时,找出Xm-1和Yn-1的最长公共子序列,然后在其尾部加上xm(=yn)即可得X和Y的一个最长公共子序列。当xm≠yn时,必须解两个子问题,即找出Xm-1和Y的一个最长公共子序列及X和Yn-1的一个最长公共子序列。这两个公共子序列中较长者即为X和Y的一个最长公共子序列。 ?由此递归结构容易看到最长公共子序列问题具有子问题重叠性质。例如,在计算X和Y的最长公共子序列时,可能要计算出X和Yn-1及Xm-1和Y的最长公共子序列。而这两个子问题都包含一个公共子问题,即计算Xm-1和Yn-1的最长公共子序列。 与矩阵连乘积最优计算次序问题类似,我们来建立子问题的最优值的递归关系。用c[i,j]记录序列Xi和Yj的最长公共子序列的长度。其中Xi=x1, x2, …, xi,Yj=y1, y2, …, yj。当i=0或j=0时,空序列是Xi和Yj的最长公共子序列,故c[i,j]=0。其他情况下,由定理可建立递归关系如下 运行结果: Question-4 The Triangle (动态规划) 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上图所示的三角形中,从顶部到底部,找一条路线,使得它的和最大。当然,每一步只能走左下或者右下。 算法分析 利用动态规划的基本步骤来分析,首先找出最优解结构,l[i]表示1到i层路径的最优解,则l[i-1]亦为最优解(证明:如果l[i-1]不为最优解,则1到i-1层有另外一条路径使得l[i-1]为最优解,这样就会致使l[i]路径不为最优解,矛盾)。最优解结构: 这里用一位数组存储数字三角形。 Question-5超级台阶 (动态规划) 描述 有一楼梯共 m 级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第 m 级,共 有多少走法? 注:规定从一级到一级有 0 种走法。 输入 输入数据首先包含一个整数 n(1=n=100

您可能关注的文档

文档评论(0)

zqianqxf02 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档