动态规划实验报告.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  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文档。上传文档
查看更多
本科学生综合性实验报告 姓名___ 刘春云 学号_0103918_ _ 专 业_ 软件工程___ 班级_ 103班_ _ 实验项目名称_计算二项式系数问题的 学生实验报告(4) 学生姓名 刘春云 学号 0103918 同组人:无 实验项目 计算二项式系数问题的W202 实验仪器台号 指导教师 赵晓平 实验日期及节次 2012-2-21 一、问题描述 在排列组合中有一个名词叫做:二项式系数,记做C(n,k)(0≤k≤n) 二、解题思路 为了实现用动态规划思想来解决这个问题,我把二项式系数记录在一个n+1行k+1列的数组中,行从0到n,列从0到k,为了得到C(n,k),我按照上文提到的两个特性,一行一行的将C(n,k)存入数组中(0≤k≤n)n,k的值都是从0开始的,直到n,k的值与输入的值相吻合。 三、算法描述 For i← 0 to n do For j ← 0 to do If j← =0 or j=k C[I,j]← 1 Else C[I,j] ← C[i-1,j-1]+C[I-1,k] 在代码中 typedef struct shudui { unsigned int n; unsigned int k; unsigned int biao[256][256]; //开辟表格空间 }shudui;是正整数对数据结构,其中n和k是要求出的组合数,例如:当n=3,k=1时,C(n,k)=3. void run(shuduis)用于读入数据和实现算法。void show(shuduis)用于文件的输出。 四、算法实现 #includeiostream #includefstream using namespace std; typedef struct shudui { unsigned int n; unsigned int k; unsigned int biao[256][256]; //开辟表格空间 }shudui;//正整数对数据结构 void run(shuduis) { ifstream infile; infile.open(input.txt,ios::in);//打开输入文件input.txt infiles.ns.k;//从文件中读出n,k infile.close(); for(unsigned int i=0;i=s.n;i++)//从C(o,o)开始记录直到C(n,k) for(unsigned int j=0;j=s.k;j++) { if(i==j||j==0) s.biao[i][j]=1;//C(o,j)、C(n,n)==1 else s.biao[i][j]=s.biao[i-1][j-1]+s.biao[i-1][j];//当前C(n,k)等于C(n-1,k-1)+C(n-1,k); } void show(shuduis); show(s);//调用输出函数 } void show(shuduis) { ofstream outfile; outfile.open(output.txt,ios::out);//打开输出文件output.txt outfileC(s.n,s.k)=s.biao[s.n][s.k]; outfileendl; outfile.close(); } void main() { shudui s; run(s); } 五、程序测试及分析 1、数据输入:由文件input.txt给出输入数据。 2、结果输出:将计算的结果输出到文件output.txt中。 六、总结 适用动态规划的问题必须满足最优化原理和无后效性。动态规划实质上是一种以空间换时间的技术,它在实现的过程中,不得不存储产生过程中的各种状态,所以它的空间复杂度要大于其它的算法。 评语: 成绩: 指导教师签名: 批阅日期:

文档评论(0)

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

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

1亿VIP精品文档

相关文档