nbhkdz.com冰点文库

分治

时间:2012-12-01


例:求n(n是2的幂(n>=2))个元素中的最大元与最小元。

[分析]用分治法解决这个问题就是把集合a分成a1,a2两个子集,每个子集有n/2个元素,应用递归结构找出两个子集的最大元和最小元,比较得到的两个最大元和最小元即可得到整个集合a中的最大元和最小元。

[参考程序]
program fenzhi;
const n=10;
type atype=array[1..n]of integer;
var max,min,I:integer;
a:atype;
procedure maxmin(r1,r2:integer;var max,min:integer);
var d,max1,min1,max2,min2:integer;
begin
if r2=r1+1 then
begin
if a[r2]>a[r1] then begin
max:=a[r2];
min:=a[r1];
end
else begin
min:=a[r2];
max:=a[r1];
end
end
else
begin
d:=(r1+r2)div 2;
maxmin(r1,d,max1,min1);
maxmin(d,r2,max2,min2);
if max1>max2 then max:=max1 else max:=max2;
if min1>min2 then min:=min2 else min:=min1;
end;
begin
writeln(‘input a:’);
for I:=1 to n do read(a[i]);
maxmin(1,n,max,min);
writeln(‘the max number is:’,max,’min number is:’,min);
end.

赞助商链接

分治算法实验报告

算法分析与设计实验报告 第 1 次实验姓名 时间 实验名称 10.17 上午 学号 地点 四合院 102 班级 分治算法实验(用分治法查找数组元素的最大值和最小值) 。 ...

分治算法举例

分治算法举例_计算机软件及应用_IT/计算机_专业资料。1 设 X[0:n-1]和 Y[0:n-1]为两个数组,每个数组中含有 n 个已排序好的数。试 设计一个 O(logn)...

实验1++递归与分治算法

淮海工学院计算机工程学院 实验报告书课 程名:题目: 《算法分析与设计》 递归与分治算法 实验 1 班学姓 级: 号: 名: 评语: 成绩: 指导教师: 批阅时间: 年...

作业3 分治法

作业3 分治法_财会/金融考试_资格考试/认证_教育专区。2012 级算法设计与分析分治法 1. 作业题 作业 3 (1) 求 n 个元素的数组中最大元素的位置。 请用分治...

分治法解最接近点对问题

算法分析与设计实验报告 2014-2015 第一学期 实验一:用分治法解最接近点对问题 指导教师:cccc 实验时间:2014 年 10 月 28 日 实验地点:计算中心二楼 班级: ...

分治法:快速傅里叶变换算法

分治法:快速傅里叶变换算法_计算机软件及应用_IT/计算机_专业资料。快速傅里叶变换的java实现,附实验报告、源程序及运行示例分治法:快速傅里叶变换算法学院:网研院...

实验2 分治法算法设计

实验2 分治法算法设计_计算机软件及应用_IT/计算机_专业资料。算法分析与设计,实验二,分治法算法设计二分检索算法,归并排序算法,快速排序算法《...

基于分治法的快速排序

实验2. 基于分治法的快速排序算法 实验内容本实验要求基于算法设计与分析的一般过程(即待求解问题的描述、算法设计、算法 描述、算法正确性证明、算法分析、算法实现...

分治法-大数乘法

分治法-大数乘法_数学_自然科学_专业资料。分治法大数乘法书上讲述的是 2 个位数都为 n 位的数相乘,我这里扩展一下,写一个更为一般的方法,任意位 数的 2...

分治算法试题

分治算法试题_理学_高等教育_教育专区。分治算法当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法 在时间上相当长,或者根本...

更多相关标签