《算法设计与分析》实验指导书.docVIP

  • 25
  • 0
  • 约5.04千字
  • 约 9页
  • 2021-08-29 发布于山东
  • 举报
第 PAGE \* Arabic 1 页 算法设计与分析 实验指导书 邵阳学院信息工程系 2010年3月 实验1 最大子段和(分治法) 一、实验内容 运用分治法,编制程序求解如下问题: 给定由n个整数(可能有负整数)组成的序列(a1,a2,…,an),最大子段和问题要求该序列形如的最大值(1=i=j=n),当序列中所有整数均为负整数时,其最大子段和为0。 二、实验要求 1.进一步掌握递归算法的设计思想以及递归程序的调式技术; 2.理解这样一个观点,分治与递归经常同时应用在算法设计之中。 三、主要仪器设备 装有TC或Visual C++的PC机 四、实验步骤 1.算法分析 最大子段和问题的分治策略是: (1)划分:按照平衡子问题的原则,将序列(a1, a2, …, an)划分成长度相同的两个子序列(a1, …, an/2)和(an/2+1, …, an),则会出现以下三种情况: ① a1, …, an的最大子段和=a1, …, an/2的最大子段和; ② a1, …, an的最大子段和=an/2+1, …, a的最大子段和; ③ a1, …, an的最大子段和=,且 (2)求解子问题:对于划分阶段的情况①和②可递归求解,情况③需要分别计算: , 则s1+s2为情况③的最大子段和。 (3)合并:比较在划分阶段的三种情况下的最大子段和,取三者之中的较大者为原问题的解。 分析算

文档评论(0)

1亿VIP精品文档

相关文档