




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、动态规划解最长子序列课程设计目的掌握动态规划法的原理,并能够按其原理编程实现求两个序列数据的最长公共子系列,以加深对其的理解。二、课程设计内容1、用动态规划法解决最长子序列问题2、交互输入两个序列数据3、输出两个序列的最长公共子序列三、概要设计四、详细设计与实现#include"iostream.h"#include"iomanip.h"#definemax100voidLCSLength(intm,intn,char*x,char*y,char*b)inti,j,k;intcmaxmax;for(i=1;i<=m;i+)ci0=0;for(i=1
2、;i<=n;i+)c0i=0;for(i=1;i<=m;i+)for(j=1;j<=n;j+)if(xi-1=yj-1)cij=ci-1j-1+1;k=i*(n+1)+j;bk=''elseif(ci-1j>=cij-1),cij=ci-1j;k=i*(n+1)+j;bk='|';elsecij=cij-1;k=i*(n+1)+j;bk尸-'voidLCS(inti,intj,char*x,char*b,intwidth)if(i=0|j=0)return;intk=i*(width+1)+j;if(bk='')L
3、CS(i-1,j-1,x,b,width);cout<<xi<<endl;elseif(bk='|')LCS(i-1,j,x,b,width);elseLCS(i,j-1,x,b,width);voidmain()charxmax='a','b','c','b','d','a','b'charymax='b','d','c','a','b','a'i
4、ntm=7;intn=6;charbmax=0;LCSLength(m,n,x,y,b);LCS(m,n,x,b,n);cout<<endl<<endl;,.最长公共子序列问题具有最优子结构性质设X=x1,xmY=y1,yn及它们的最长子序列Z=z1,zk则1、若xm=yn,则zk=xm=yn,且Zk-1是Xm-1和Yn-1的最长公共子序列2、若xm!=yn,且zk!=xm,则Z是Xm-1和Y的最长公共子序列3、若xm!=yn,且zk!=yn,则Z是Yn-1和X的最长公共子序列由性质导出子问题的递归结构当i=0,j=0时,cij=0当i,j>0;xi=yi时,ci
5、j=ci-1j-1+1当i,j>0;xi!=yi时,cij=maxcij-1,ci-1j,-同TT*F:DebugCppl.exe'请输入物品种数n:?请输入背包总容量c*s请输入各物品的大,I1或重量u:2357141请输入各物品苴价值小1B51576183恒算结果如下;012345678?1011121314150800000孙00&00g0001D010101010101010101010101010IB2D010101015151515151515151515153Q010101015152525253030303030304D010101015152525253
6、030303032325Q610161616212531313136363636366Q610161824283434343943494949S4?Q61016192428343?37394349525254选择的物向量表示为:11101105背包最大价值为追4按丫或少继续操作,否则按任意键#include<iostream.h>#definemax(a,b)a>b?a:b#defineM100voiddisplay(int&n,int&C,intwM,intvM)inti;cout<<"请输入物品种数n:"cin>>
7、;n;cout<<endl;cout<<”请输入背包总容量C:"cin>>C;cout<<endl;cout<<"请输入各物品的大小或重量w:"<<endl;w0=0;for(i=1;i<=n;i+)cin>>wi;cout<<"请输入各物品其价值v:"<<endl;v0=0;for(i=1;i<=n;i+)cin>>vi;;intknapsack(int&n,int&C,intwM,intvM,i
8、ntVMM)inti,j;for(i=0;i<=n;i+)for(j=0;j<=C;j+)if(i=0|j=0)Vi朋=0;elseif(wi>j)Vij=Vi-1j;elseif(wi<=j)Vij=max(Vi-1j,Vi-1j-wi+vi);returnVnC;;voidtraceback(intn,intC,intwM,intxM,intVMM)for(inti=1;i<=n;i+)if(ViC=Vi-1C)xi=0;elsexi=1;C=C-wi;/xn=(VnC>0)?1:0;voidmain()inti,j,n,C;charch;intwM,v
9、M,xM;intVMM;while(1)display(n,C,w,v);cout<<"运算结果如下:"«endl;for(i=1;i<=n;i+)xi=O;knapsack(n,C,w,v,V);cout«"for(j=0;j<=C;j+)cout«j«"cout«endl;for(i=0;i<=n;i+)(cout«i«"for(j=0;j<=C;j+)(cout«Vij«")cout«endl;cout«endl;cout<<"选择的物向量表示为:"cout«"(traceback(n,C,w,x,V);for(i=1;i<=n;i+)cout«xi«"cout«")"«endl;cout«"背包最大价值为:&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 固体废物监测员异常处理考核试卷及答案
- 茶叶加工工前沿技术考核试卷及答案
- 棉花栽培工协同作业考核试卷及答案
- 铲运机司机工艺创新考核试卷及答案
- 快件派送员特殊工艺考核试卷及答案
- 2026年1月福建高中学业水平考试模拟物理试卷试题
- 凿岩技术考试题及答案大全
- 2024-2025学年济南市高新区七年级下英语期末考试题(含答案)
- 文化传播公司合同付款管理办法
- 公司OA系统维护协议
- 9.18事变防空演练方案3篇2025
- 急性心肌梗死病人护理
- 2025年充换电站项目建议书
- 成都银行招聘考试真题2024
- 宠物医疗行业招商策划
- UL484美国房间空调器安全检验规范
- 民法总论讲义大纲4
- 国寿新绿洲团体意外伤害保险(A款)条款
- ARDS患者肺康复训练专家共识解读
- 生物防治技术-免疫接种技术(动物防疫与检疫技术)
- 中远海运(上海)有限公司招聘考试真题及答案2022
评论
0/150
提交评论