- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析实验报告
实验题目
给定由n个整数组成的序列(a1, a2, …, an),求该序列形如 的子段和的最大值,当所有整数均为负整数时,其最大子段和为0。
实验目的
(1)深刻掌握动态规划法的设计思想并能熟练运用;
(2)理解这样一个观点:同样的问题可以用不同的方法解决,一个好的算法是反复努力和重新修正的结果。
实验要求
(1)分别用蛮力法、分治法和动态规划法设计最大子段和问题的算法;
(2)比较不同算法的时间性能;
(3)给出测试数据,写出程序文档。
实验内容(包括代码和对应的执行结果截图)
#includeiostream.h
int x,y,z;
int ml(int d[])//蛮力法
{
int a=0,i,j,f;
for(j=0;j5;j++)
{
f=0;
for(i=j;i5;i++)
{
f=f+d[i];
if(af) a=f;
x++;
}
}
return a;
}
int MaxSum(int a[ ], int left, int right)
{
int lefts,rights,s1,s2,i,j;
int sum=0,center,leftsum,rightsum;
if (left==right) { //如果序列长度为1,直接求解
if (a[left]0) sum=a[left];
else sum=0;
y++;
}
else {
center=(left+right)/2; //划分
leftsum=MaxSum(a, left, center);
//对应情况①,递归求解
rightsum=MaxSum(a, center+1, right);
//对应情况②,递归求解
s1=0; lefts=0; //以下对应情况③,先求解s1
for (i=center; i=left; i--)
{
lefts+=a[i];
if (leftss1) s1=lefts;
y++;
}
s2=0; rights=0; //再求解s2
for (j=center+1; j=right; j++)
{
rights+=a[j];
if (rightss2) s2=rights;
y++;
}
sum=s1+s2; //计算情况③的最大子段和
if (sumleftsum) sum=leftsum;
//合并,在sum、leftsum和rightsum中取较大者
if (sumrightsum) sum=rightsum;
y++;
}
return sum;
}
int max(int a[],int n)
{
int sum=0,b=0;
for(int i=0;i=n;i++)
{
if(b0)
b+=a[i];
else b=a[i];
if(bsum)
sum=b;
z++;
}
return sum;
}
void main()
{
int c;
int s[5]={1,9,-5,7,-1};
c=ml(s);
cout蛮力法计算最大子段和为:cendl;
cout蛮力法时间性为:xendl;
c=MaxSum(s, 0, 4);
cout分治法计算最大子段和为:cendl;
cout分治法时间性为:yendl;
c=max(s, 4);
cout动态规划法计算最大子段和为:cendl;
cout动态规划法时间性为:zendl;
}
程序运行结果:
实验结果分析
程序测试序列为1 ,9 , -5 , 7, -1
最大子段和为12。
由上述程序结果分析动态
您可能关注的文档
- 六一儿童节嘉年华活动方案.doc
- 龙湖时代天街介绍.ppt
- 龙水外展活动执行方案.doc
- 龙水峡地缝导游词.doc
- 龙腾汇车主俱乐部会员手册.doc
- 楼盘营销推广方案.doc
- 楼体粉刷施工组织设计.doc
- 鲁教版初三化学寒假专题复习一 化学基本概念和原理.doc
- 鲁教版初一语文上册期末测试题及答案.doc
- 鲁抗兽药真空泵技术部分标书.doc
- 携程产品营销经理岗面试题库参考答案和答题要点.docx
- 携程产品经理岗面试题库参考答案和答题要点.docx
- 携程供应链管理专员岗面试题库参考答案和答题要点.docx
- 携程交易数据分析师岗面试题库参考答案和答题要点.docx
- 携程公共关系专员岗面试题库参考答案和答题要点.docx
- 携程内部培训专员岗面试题库参考答案和答题要点.docx
- 福建省福州市2023-2024学年高二上学期期末测试英语试卷(含答案).pdf
- 携程人力资源专员岗面试题库参考答案和答题要点.docx
- 福建省三明市2023-2024学年高二上学期期末测试英语试卷(含答案).docx
- 福建省三明市2023-2024学年高二上学期期末测试英语试卷(含答案).pdf
文档评论(0)