

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4/4动态规划算法实验报告动态规划算法实验报告
————————————————————————————————:————————————————————————————————日期:
实验标题
1、矩阵连乘
2、最长公共子序列3、最大子段和
4、凸多边形最优三角剖分
5、流水作业调度
6、0-1背包问题
7、最优二叉搜索树
实验目的掌握动态规划法的基本思想和算法设计的基本步骤。
实验内容与源码1、矩阵连乘
#include
usingnamespacestd;
constintsize=4;
//ra,ca和rb,cb分别表示矩阵A和B的行数和列数
voidmatriMultiply(inta[][4],intb[][4],intc[][4],intra,intca,intrb,intcb)
{
if(ca!=rb)cerr>p[0]>>p[1];
for(inti=2;i<=w;i++)
{
intm=p[i-1];
cout<>p[i-1]>>p[i];
if(p[i-1]!=m)
{
cout
#include
#defineN100
usingnamespacestd;
//str1存储字符串x,str2存储字符串y
charstr1[N],str2[N];
//lcs存储最长公共子序列
charlcs[N];
//c[i][j]存储str1[1...i]与str2[1...j]的最长公共子序列的长度intc[N][N];
//flag[i][j]==0为str1[i]==str2[j]
//flag[i][j]==1为c[i-1][j]>=s[i][j-1]
//flag[i][j]==-1为c[i-1][j]=c[i][j-1])
{
c[i][j]=c[i-1][j];
flag[i][j]=1;
}
else
{
c[i][j]=c[i][j-1];
flag[i][j]=-1;
}
}
returnc[m][n];
}
//求出最长公共子序列
char*getLCS(char*x,char*y,intlen,char*lcs){
inti=strlen(x);
intj=strlen(y);
while(i
j--;
}
elseif(flag[i][j]==1)
i--;
else
j--;
}
returnlcs;
}
intmain()
{
inti;
cout<<"请输入字符串x:">str1;
cout=left;i--)
{
lefts+=a[i];
if(lefts>s1)s1=lefts;
}
ints2=0;
intrights=0;
for(inti=center+1;is2)s2=rights;
}
sum=s1+s2;//前后子段和相加
//判断最大子段和
if(sum>leftsum)sum=leftsum;
if(sum>rightsum)sum=rightsum;
}
returnsum;
}
intMaxSum(int*a,intn)
{
returnMaxSubSum(a,1,n-1);
}
intmain()
{
inta[8]={2,-3,-5,4,1,7,1,-5};
coutn;
Jobtype*d=newJobtype[N];
a=newint[N];
b=newint[N];
c=newint[N];
cout>d[i].index>>d[i].key;
}
cout=w[1])
m[1][c]=max(m[1][c],m[2][c-w[1]]+v[1]);
}
//找出最优解,0表示不能装,1表示能装
voidtraceback(int**m,intn,intc,int*x,int*w)
{
for(inti=1;i>w[i];
cout
#include::max();//double的最大值
//a[i]为结点i被访问的概率
//b[i]为“虚结点”i被访问的概率
//m[i][j]用来存放子树(i,j)的期望代价
//w[i][j]用来存放子树(i,j)的所有结点(包括虚结点)的a,b概率之和
//s[i][j]用来跟踪root的
voidOptimalBinarySearchTree(double*a,double*b,intn)
{
ints[N][N];
doublem[N][N];
doublew[N][N];
inti,j,l,r;
for(i=1;in;
cout<>a[i];
sum+=a[i];
}
cout>b[i];
sum+=b[i];
}
if(abs(sum-1)>0.01)
{
cout<<"输入的概率和不为1,请重新输入"<<endl;
}
cout<<"最优二叉查找树的期望搜索代价为:";
Opt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 停车场划线合同
- 小班美术篮球教案
- 人教版四年级下册数学期中测试满分冲刺卷(含答案)
- 河南省驻马店市新蔡县2024-2025学年六年级上学期期末质量监测语文试卷(有答案)
- 企业内部培训
- 中考数学高频考点专项练习:专题13 三角形综合训练 (1)及答案
- 安徽六安市皖西高中教学联盟2025年高三考前热身化学试卷含解析
- 2025年抽纱刺绣工艺品项目发展计划
- 小班体育小鸡快跑课件
- 黑龙江省哈尔滨兆麟中学2025届高三下学期联考化学试题含解析
- 钢管桩沉桩两种工艺方法
- 亚马逊品牌授权书(英文模板)
- 光伏项目工程清单报价(最新)
- 入院患者护理评估单[1]
- 鄂科版心理健康七年级 3.新学段 新学习 课件(11ppt)
- 房产继承遗嘱书——模板
- 省高标准基本农田建设项目测绘技术规范
- 结业证书模版(共1页)
- 过程审核检查表(根据大众FORMEL-Q要求)
- 项目施工合理化建议
- 徕卡TCR1201使用说明书中文版WORD
评论
0/150
提交评论