-1 - 昆明理工大学信息工程与自动化学院学生实验报告 ( 2011 — 2012 学年 第 1 学期 ) 课程名称:算法设计与分析 开课实验室:信自楼机房 444 2012 年 12 月 14 日 年级、专业、班 学号 姓名 成绩 实验项目名称 最大子段和问题 指导教师 吴晟 教师评语 该同学是否了解实验原理: A
基本了解□ C
不了解□ 该同学的实验能力: A
中等 □ C
差 □ 该同学的实验是否达到要求: A
基本达到□ C
未达到□ 实验报告是否规范: A
基本规范□ C
不规范□ 实验过程是否详细记录: A
一般 □ C
没有 □ 教师签名: 年 月 日 一、上机目的及内容 1
上机内容 给定有 n 个整数(可能有负整数)组成的序列(a1,a2,…,an),求改序列形如jkka1的子段和的最大值,当所有整数均为负整数时,其最大子段和为 0
上机目的 (1)复习数据结构课程的相关知识,实现课程间的平滑过渡; (2)掌握并应用算法的数学分析和后验分析方法; (3)理解这样一个观点:不同的算法能够解决相同的问题,这些算法的解题思路不同,复杂程度不同,解题效率也不同
二、实验原理及基本技术路线 图 (方框 原理图 或 程序流 程图 ) (1)分别 用蛮 力法、分治 法和动 态 规划 法设计最大子段和问题的算法; 蛮 力法设计原理: 利 用3 个 for 的嵌 套 (实现从 第 1 个数开始 计算子段长 度为 1,2,3…n 的子段和,同理计算出 第 2 个数开始 的长 度为 1,2,3…n-1 的子段和,依 次 类 推 到第 n 个数开始 计算的长 为 1 的子段和)和一个 if(用来 比 较 大小 ),将 其所有子段的和计算出 来 并将 最大子段和赋 值给summax1
用了 3 个 for 嵌