求最大值和最小值的分治算法.docVIP

  • 5
  • 0
  • 约1.5千字
  • 约 3页
  • 2018-06-26 发布于河南
  • 举报
求最大值和最小值的分治算法

给定一个顺序表,编写一个求出其最大值和最小值的分治算法。 分析: 由于顺序表的结构没有给出,作为演示分治法这里从简顺序表取一整形数组数组大小由用户定义,数据随机生成。我们知道如果数组大小为 1 则可以直接给出结果,如果大小为 2则一次比较即可得出结果,于是我们找到求解该问题的子问题即: 数组大小 = 2。到此我们就可以进行分治运算了,只要求解的问题数组长度比 2 大就继续分治,否则求解子问题的解并更新全局解以下是代码。 */ /*** 编译环境TC ***/ #include stdio.h #include stdlib.h #include limits.h #define M 40 /* 分治法获取最优解 */ void PartionGet(int s,int e,int *meter,int *max,int *min){ /* 参数: * s 当前分治段的开始下标 * e 当前分治段的结束下标 * meter 表的地址 * max 存储当前搜索到的最大值 * min 存储当前搜索到的最小值 */ int i; if(e-s = 1){ /* 获取局部解,并更新全局解 */ if(meter[s] meter[

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档