- 2
- 0
- 约3.46千字
- 约 5页
- 2021-10-08 发布于辽宁
- 举报
《算法分析与设计》实验报告
实验1算法效率与时空复杂度检验
姓名XXX 学号XXX 班级XXXXXX
时间:XXXX-XX-XX 地点:XXX
同组人:无
指导教师:XXX
实验目的
1、 掌握一门程序设计语言
2、 掌握算法及程序设计的一般策略与方法
3、 掌握算法实验的一般步朦
4、 掌握算法分析与设计、算法比较的一般方法
5、 掌握算法实验中的时空复杂度的分析方法
6、 掌握算法实验方案的设计方法
实验内容
选择一个合适的程序设计语言(如C、C++、PASCAL等)
根据问题设计算法。问题如下
(百钱买百鸡问题)假设公鸡5元钱一只,母鸡3元钱一只,小鸡一元钱3 只。要用100块钱刚好买100只鸡,问有多少种买法,毎种买法中公鸡、母鸡、 小鸡的数董各为多少?设计一个实验方案,验证求解此问题的算法的正砌性, 比较并分析各算法的优劣。
设计实验方案。方案中应包括
多种问题求解算法
算法执行时间获取方法
抗时间“噪声”方法
时间结果分析对比方法
根据算法和实验方案设计实验程序
设计求解此问题的多种算法,并将它们转换成相应程序。
分析各算法(程序)的特点,比较它们的优劣。
安装程序设计语言系统。
输入各个程序,验证它们的正确性。
设计并运行能统计各程序执行时间并能抗“噪声”的程序,统计各算法的时间 开销,并与之前所做的理论分析比较,看是否一致。
实验环境
硬件:Intel (R) Pentium(R) CPU RAM:4G
软件:Myec I i pse2013
实验前准备
1、 算法设计:见实验步骤2
2、 程序设计:见实验步骤3
实验步骤
利用spark语言写出初步的算法,再用java作为程序实现语言,实验利用的IDE为
myelcipse2013,若直接在机器上編译运行需要安装JDK
2、 spark程序如下:
PROGRAM百钱买百鸡()
Integer M二100
Integer x, y, z, n, k
Integer t2
Ggett ime()
For k^-1 to M do //控制重复次数//
n0
For x-0 to 100 do
For y0 to100 do
For y0 to
100 do
For z-0 to 100 do
If (100-5*x - 3*y)*3= z and x + y + z = 100
Then
n^-n+1
pr int(n, x, y, z)end i f
repeat
repeat
repeat
repeat
12-ge tt imeO
print((t2 - t1)/M) //取计算平均值.消除噪声//
END.
3、 在Java中用System. currentTimeMi I I is 0获取时间,为抗时间噪声, 增加一个数组a[] [10],将每次结果加到数组中在,降低输出对计算时间的 干扰
4、 为比校精确计算出每个算法的时间,将每个算法计算100000遍,算出它 们的平均值
5、 保证每种核心算法外部变董环境和操作方法一致(如在时间的计算方法 上,结果的存储,计算的重复次数上一致),只改变核心算法,以使几种 算法在置终时间效率的比较上比较可靠
6、 根据spark语言写出对应的Java程序,并提出改进方案: 为减少环境的其它因素对结果的影响,写出通用的主程序如下
public class Baiji {
public static void main(String[] args) {
// todo Auto-generated method stub
int M = 100000;
int n = e, k;
int[][] a = new int[50](3];
long tl, t2;
tl = system.currentTimeMiLLis(); // 丿卜始i 时
for (k = 0; k M; k+*) { //循环i| gi次.得出平均时何
n=fl(a); 〃i协 何次込仃的时攸八川;?.「卄3!.
}
t2 = System. currentTime^ri 11 is (); // f? il.ik 时
System. out. print In (n iFJJ—次平场耗时:+ (float) (t2 - tl) / M + 忑抄\n 共有 H + n
+ -种买法”);// 1输出结果
for (int i = 0; i n; i++) {
System.out.printin(S法” + i + ”??应买公鸡:” + a[i][0] + ”只.“鸡:-
+ a[i][l] + ”只.小鸡:-+ a[i][2] + ”只”);
}
}
以下是三种核心算法
方案一:
static int fl(int[][] a){ 〃方
原创力文档

文档评论(0)