1 / 9
文档名称:

算法的时间复杂度++实验报告.doc

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

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

分享

预览

算法的时间复杂度++实验报告.doc

上传人:文库旗舰店 2020/3/11 文件大小:25 KB

下载得到文件列表

算法的时间复杂度++实验报告.doc

文档介绍

文档介绍:实验一 算法的时间复杂度一、实验目的与要求熟悉C/C++语言的集成开发环境;通过本实验加深对算法分析基础知识的理解。软件环境:  操作系统:windows7旗舰版集成开发环境 :visualstudio2010旗舰版       硬件环境:  处理器:因特尔Corei3M380内存: 2GB二、实验内容:掌握算法分析的基本方法,并结合具体的问题深入认识算法的时间复杂度分析。三、实验题定义一个足够大的整型数组,并分别用起泡排序、简单选择排序、快速排序和归并排序对数组中的数据进行排序(按从小到大的顺序排序),记录每种算法的实际耗时,并结合数据结构中的知识对算法的时间复杂度分析进行说明。实验数据分两种情况:1、数组中的数据随机生成;2、数组中的数据已经是非递减有序。四、实验步骤理解算法思想和问题要求;编程实现题目要求;上机输入和调试自己所编的程序;验证分析实验结果;整理出实验报告。五、实验程序#include<>#include<>#include<iostream>#include<>          //导入时间库函数文件usingnamespacestd;voidBubbleSort(intarr[],intn);voidQuickSort(intarr[],intleft,intright);voidSelectSort(intarr[],intn);voidUnionSort(intarr[],intleft,intright);intPartition(intarr[],intleft,intright);voidUnion(intarr[],intleft,intmid,intright);constintARRAY_MAXSIZE=10000;     //定义数组最大长度intmain(intargc,char*argv[]){    //测试调用的排序算法耗时intarray_Sort[ARRAY_MAXSIZE];   //声明待排序的数组intarray_Sort2[ARRAY_MAXSIZE];for(inti=0;i<=ARRAY_MAXSIZE;i++){ //生成随机数组,大小为10000array_Sort[i]=rand()%500;}for(intj=0;j<ARRAY_MAXSIZE;j++){  //生成非递减数组,大小均为10000       array_Sort2[j]=j;}clock_tstart,end;         //声明开始和结束的时间计数器start=clock();           //排序开始时间计数器BubbleSort(array_Sort,ARRAY_MAXSIZE);   //起泡排序算法测试end=clock();            //排序结束时间计数器cout<<"随机数组起泡排序测试耗时为:";cout<<(double)(end-start)<<"ms"<<endl;start=clock();           QuickSort(array_Sort,0,ARRAY_MAXSIZE-1);  //快速排序算法测试end=clock();            cout<<"随机数组快速排序测试耗时为:";cou