




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四实验四 最大子段和问题最大子段和问题 1 1 实验目的实验目的 1 掌握动态规划的设计思想并能熟练运用 2 理解这样一个观点 同样的问题可以用不同的方法解决 一个好的算法是反复努力和 重新修正的结果 2 2 实验要求实验要求 1 分别用蛮力法 分治法和动态规划法设计最大子段和问题的算法 2 比较不同算法的时间性能 3 给出测试数据 写出程序文档 3 3 实验设备和软件环境实验设备和软件环境 操作系统 Windows 7 64x 开发工具 Visual Studio 2013 4 4 实验步骤实验步骤 以下实验数据都是以数组 a 2 11 4 13 5 2 为例子 蛮力法蛮力法 蛮力法是首先通过两个 for 循环去求出所有子段的值 然后通过 if 语句查找出 maxsum 返回子序列的最大子段和 分治法分治法 1 划分 按照平衡子问题的原则 将序列 a1 a2 an 划分成长度相同的两个 子序列 a1 a2 an 2 和 an 2 1 an 2 求解子问题 对与划分阶段的情况 和 可递归求解 情况 需要分别计算 s1 max 1 i n 2 s2 max n 2 1 j0 时 b j b j 1 a j 2 当 b j 1 0 时 b j a j 然后做递归操作求出最大子段和 5 5 实验结果实验结果 蛮力法蛮力法 include include using namespace std int manlifa int a int x int i j sum 0 maxsum 0 for i 0 i x i for j i 1 j sum sum a i if sum maxsum maxsum sum return maxsum int main int y sum int a 20 11 4 13 5 2 int c sizeof a sizeof int sum manlifa a c cout y return 0 分治法分治法 include include using namespace std int MaxSum int a int left int right int sum 0 midSum 0 leftSum 0 rightSum 0 int center s1 s2 lefts rights if left right sum a left else center left right 2 leftSum MaxSum a left center rightSum MaxSum a center 1 right s1 0 lefts 0 for int i center i left i lefts a i if lefts s1 s1 lefts s2 0 rights 0 for int j center 1 j s2 s2 rights midSum s1 s2 if midSum leftSum sum leftSum else sum midSum if sum rightSum sum rightSum return sum int main int sum int a 20 11 4 14 5 2 sum1 MaxSum a 0 5 cout sum1 endl int j n int b 100 cout n cout 请输入序列子段 for j 0 j b j int sum i sum MaxSum b 0 5 cout sum i return 0 动态规划法动态规划法 include using namespace std int MaxSum int n int a int sum 0 b 0 for int i 1 i 0 b a i else b a i if b sum sum b return sum int main int k int a 2 11 4 13 5 2 for int i 0 i 6 i cout a i cout endl cout 数组a的最大连续子段和为 MaxSum 6 a k return 0 6 6 讨论和分析讨论和分析 在一开始做最大子段问题的实验的时候 对于蛮力法和分治法的理解还是可以的 但是对 于动态规划法的理解还不是那么明确透彻 通过网上的一些解释和结合自己书本上的知识 对动态规划法得到了进一步的理解 接下来是三种算法时间性能的比较 蛮力法 时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏苏州张家港市国有资本投资集团有限公司专业化青年人才定岗特选(岗位代码098)人员模拟试卷完整参考答案详解
- H3R-antagonist-7-生命科学试剂-MCE
- 2025年家用塑料制品:储物箱项目合作计划书
- GSK-3β-HDAC-IN-2-生命科学试剂-MCE
- Glycine-13C2-15N-p-Toluenesulfonate-生命科学试剂-MCE
- 2025年新型高效饲料及添加剂项目发展计划
- 2025北京大学肿瘤医院云南医院云南省肿瘤医院非事业编制专业技术人员招聘(189人)模拟试卷及答案详解(历年真题)
- 2025年餐厨垃圾处理项目合作计划书
- 市场调研信息整合工具快速反馈分析版
- 时尚服饰行业品牌营销策略
- 安装工程技术标
- 2023-2024学年天津八中七年级(上)第一次月考语文试卷
- 运动医学分级诊疗管理制度
- 2024七年级数学上册第3章代数式综合与实践-密码中的数学习题课件新版苏科版
- 挂靠经营合同(2篇)
- 皮带输送机安装安全技术措施方案
- 15ω-3脂肪酸在妊娠期管理的应用
- (完整)高中英语3500词汇表
- 辽宁省沈阳市杏坛中学2024-2025学年度上学期九年级10月份月考数学试卷
- 北京市西城区北京市第四中学2024-2025学年七年级上学期分班考数学试卷
- 【语文】第二单元《阅读综合实践》课件-2024-2025学年七年级语文上册(统编版2024)
评论
0/150
提交评论