1 / 10
文档名称:

实验03--算法和算法分析.doc

格式:doc   大小:3,310KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验03--算法和算法分析.doc

上传人:916581885 2021/12/17 文件大小:3.23 MB

下载得到文件列表

实验03--算法和算法分析.doc

文档介绍

文档介绍:实验03--算法和算法分析
LT
浙江大学城市学院实验报告
课程名称 数据结构基础
实验项目名称 实验三 算法和算法分析
学生姓名 专业班级 学号
实验成绩 指导老师(签名 ) 日期
实验目的和要求
1. 通过对算法的分析,了解提高算法的运算速度和降低算法的存储空间之间的矛盾。
2. 通过对算法复杂度的分析,掌握计算时间复杂度和空间复杂度的基本方 法。
3. 初步掌握测试算法运行时间的基本方法。
实验内容
根据算法编写程序
已知输入x,y,z三个不相等的整数,试根据如下算法(N-S图)编写一个C语言函数,实现三个数从小到大顺序的输出。
三个数排序算法的N-S图

提示:一个矩形框里的处理可能用一条C语句实现,也可能用多条C语句实现。例如:
“x↔y:t=x; x=y; y=t;”。并且,N-S图中不包括变量的定义,但在C语言函数中,变量必须先定义再使用。
要求:,编译并调试程序,直到正确运行。
并请分析:该算法要进行___3___次比较,在最好的情况下需要交换数据元素___0___次,在最坏的情况下需要交换数据元素___3___次。
2、测试算法的运行时间
在此,我们通过一个比较两个算法执行效率的程序例子,掌握测试算法运行时间的基本方法。这里涉及到C语言中标准的函数库sys/timeb。sys/timeb函数库中提供了处理与时间相关的函数。其中函数ftime的功能是获取当前的系统时间。
步骤1:。
主文件 () :
# include <>
# include <sys/> //时间函数
void main()
{
1 timeb t1, t2;
2 long t;
3 double x, sum=1, sum1;
4 int i, j, n;
5 printf("请输入x,n:") ;
6 scanf("%lf,%d", &x, &n) ;
7 ftime(&t1) ; // 求得当前时间
8 for(i=1; i<=n; i++)
9 {
10 sum1=1;
11 for(j=1; j<=i; j++)
12 sum1=sum1*(-) ;
4、填写实验报告内容,。
5、、、、